2009-10-25 5 views
0

우선, 이것은 이 아니며 실제로 프로그래밍 질문입니다. McConnels의 명명 규칙을 어떻게 만족시킬 수 있을까요?이 간단한 방법의 이름은 무엇입니까?

나는 워드 문서를 조작하는이 델파이 애플리케이션을 가지고있다. 필요한 작업 중 하나는 문서의 모든 책갈피를 실행하고 간단한 규칙에 따라 일부 책갈피를 삭제하는 것입니다. 현재 인용문에 대한 작업을 수행하면 이름이 "cw_orderspecific"로 시작하는 모든 책갈피가 삭제됩니다. 주문 확인서를 작성하면 "cw_quotespecific"로 시작하는 모든 책갈피가 제거됩니다.

이 방법이 적절하며 모든 것이 완벽하게 작동하지만 약간의 문제가 있습니다. 내 방법은 무엇이라고해야합니까? 현재 이름 ("DeleteBookmarksNotAllowedForCurrentDocumentType")이 너무 깁니다.

제안 사항?

답변

2

DeleteNonRelevantBookmarks?

+1

DeleteIrererentBookmarks * chuckle * –

+0

동의했지만 실제로는 "DeleteIrrelevantBookmarks"로갔습니다. 충분히 닫으십시오 :-) –

0

두문자어를 사용 하시겠습니까? 주석에서 CDT가 "현재 문서 유형"이라고 정의하면 DeleteBookmarks_NotAllowedForCDT이됩니다. 짧아.

3

변경 기능을 삭제하는 접두사를 가지고 가고, DeleteBookmarksWithPrefix를 호출합니다 :

DeleteBookmarksWithPrefix("cw_quotespecific") 

또는 코드를 매우 쉽게 읽을

DeleteBookmarksWithPrefix(otherWorkTypePrefix) 

, 그것은 다른 상황에서 함수를 재사용한다 하나의 매우 구체적인 작업에만 유용하기보다는 오히려 유용합니다. 당신이 원하는 방법 짧은

DeleteBookmarksWithoutPrefix(currentWorkTypePrefix) 
+0

+1은 매우 "정확한"답변입니다. 그러나 나는 그것을 받아들이지 않을 것이다. 이 방법은 결코 * 절대 수정되지 않습니다. 고객이 다른 요청을하지 않는 이상. –

+0

고객에게 달려있다 * 다른 요청을 내놓지 않는 전략은 매우 비관적이며 (성공적인 시스템은 새로운 요구 사항으로 이어지는 경향이 있음) 화석화가 구축되어있어 명명 규칙을 염려합니다. 이 대답에 정의 된대로 유연성을 얻으려고합니다. – djna

+0

고객은 항상 다른 요청을합니다. ;) – Carlos

2

: 당신이 이제까지 세 번째 작업 유형을해야합니다, 당신은 그것의 의미를 반전 할 수 있다는

주? 내 첫 번째 본능은 그다지 중요하지 않은 단어를 삭제하는 것입니다. DeleteBookmarksNotAllowedForDocumentType, DeleteBookmarksNotAllowedForDocument 또는 DeleteBookmarksNotAllowed와 같습니다. 비록 내가 아마도 DeleteInvalidBookmarks 같은 것을 선호 할지라도. 물론 다른 규칙으로 책갈피를 삭제하는 다른 방법이없는 경우에만 작동합니다.
또는 메서드 함수의 방식을 바꾸고 싶다면 접두사를 매개 변수로 지정하여보다 일반적인 형식으로 만들면 명명이 더 간단 해집니다.

0

어때 대략 DelBookmarksStartingWith? 그것은 매우 명확하고 의도를 표현합니다.