문제

우선, 이것은 아닙니다 진짜 프로그래밍 질문. "McConnels 명명 규칙을 어떻게 만족시킬 수 있습니까?"라는 질문입니다.

나는 단어 문서를 조작하는이 델파-신청서가 있습니다. 내가해야 할 일 중 하나는 문서의 모든 북마크를 통해 실행되고 간단한 규칙에 따라 일부 북마크를 삭제하는 것입니다. 현재 견적 작업을 수행하면 이름이 "CW_ORDERSPECIFIC"으로 시작하는 모든 북마크를 삭제합니다. 주문 확인 작업을 수행하면 "CW_QUOTESPECIFIC"으로 시작하는 이름이있는 모든 북마크를 제거합니다.

이 방법이 제자리에 있으며 모든 것이 완벽하게 작동하지만 작은 문제가 있습니다. 내 메소드를 무엇을 호출해야합니까? 현재 이름 ( "DeleteBookMarkSnotallowEdforCurrentDocumentType")이 너무 깁니다.

제안이 있습니까?

도움이 되었습니까?

해결책

DeletenonRelevantBookMarks?

다른 팁

접두사를 삭제하려면 함수를 변경하고 호출하십시오. DeleteBookmarksWithPrefix:

DeleteBookmarksWithPrefix("cw_quotespecific")

또는

DeleteBookmarksWithPrefix(otherWorkTypePrefix)

따라서 코드를 매우 읽기 쉽게 만들 수 있으며, 하나의 매우 구체적인 작업에만 유용하지 않고 다른 상황에서 기능을 재사용 할 수 있습니다.

세 번째 작업 유형이 있으면 그 감각을 되돌릴 수 있습니다.

DeleteBookmarksWithoutPrefix(currentWorkTypePrefix)

당신이 얼마나 짧게되기를 원하십니까? 나의 첫 번째 본능은 그렇게 중요하지 않은 단어를 떨어 뜨리는 것입니다. deletebookmarksnotallowedfordocumenttype, deletebookmarksnotallowedfordocument 또는 간단히 deletebookmarksnotallowed와 마찬가지로. 나는 아마도 deleteinvalidbookmarks와 같은 것을 선호 할 것입니다. 물론 이것은 다른 규칙으로 북마크를 삭제하는 다른 방법이없는 경우에만 작동합니다.
또는 방법 기능을 기꺼이 바꾸려면 접두사를 매개 변수로 제공하여 더 일반적으로 만들면 이름 지정이 더 간단해질 것입니다.

약어를 사용하십니까? CDT가 "현재 문서 유형"이라는 주석에 정의하면 얻을 수 있습니다. DeleteBookmarks_NotAllowedForCDT. 충분히 짧습니다.

어때 DelBookmarksStartingWith? 꽤 분명하고 의도를 표현합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top