E D R , A S I H C RSS

Intention Revealing Selector

No older revisions available

No older revisions available



Intention Revealing Selector

먼저번 챕터랑 비슷한 이야기다. how가 아닌 what을 중심으로 메소드의 이름을 적자는 것이다.

메소드 이름을 짓는 방법에 두가지 선택이 있다. 첫째는 그 메소드가 어떻게 일을 수행하는지에 대해 짓는것이고, 둘째는 그 메소드가 무엇을 하느냐에 대해 짓는것이다. 지금 당장 how로 지어진 코드가 있다면 what의 형태로 바꿔라. 큰 이득이 될 것이다.(코드 잘 읽기, 보다 유연)

안 좋은 예제
~cpp 
Array::linearSearchFor(Item&);
Set::hashedSearchFor(Item&);
BTree::treeSearchFor(Item&);
컬렉션을 사용하는 유저의 입장에서 각 컬렉션이 서치를 어떻게 하는지는 알 바 아니다. 알고 싶지도 않을 것이다. 바꿔보자.
~cpp 
Collection::searchFor(Item&);
그냥 찾아라~하는 명령만 내리면 된다. 그런데 아직도 how의 냄새가 좀 나는거 같다. 결국 search를 하는 것은 그 컬렉션안에 우리가 찾는게 들었냐 하는것이다.
~cpp 
Collection::includes(Item&);
이로써 좀더 잘 지은 이름이 나왔다.

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:23:27
Processing time 0.0506 sec