젠장! 내가 만들어낸 production code에 난 별생각없이 delete라는 이름을 더 많이 사용한거 같다.
remove와 delete는 미묘하게 의미가 틀리지만, 우리가 이해를 하기에 아주 나쁜 수준은 아니다.
하지만, 우리가 자바를 하면서 애용하는 collection메타포를 보면 add vs remove가 더 어울린다.
symmetry의 사전적인 의미는 무엇일까?

Identifying and clearly expressing symmetry makes code easier to read.
symmetry의 장점은 반을 이해하면 나머지 반을 이해하기 쉬워서 가독성이 좋아진다. 반대로 symmetry가 깨지면 대칭이 되는 코드를 이해하는데 혼란이 찾아온다. 내가 기대하지 않는 코드의 구현이 되어있기때문이다.
나는 refactoring을 할때 extract method를 자주 애용하는 편이다. 이 refactoring을 진행을 하다가 보면, 어디까지 extract를 할지 고민이 많이 된다.
이때 symmetry를 떠올리자. extract method를 해서 의도가 명확해져서 communication하기 좋은 코드로 발전을 한다면, 코드량이 조금 더 많아 지더라도 extract를 계속하자. extract를 할때는 symmetry를 떠올리면서 이름을 짓는 것이 중요하다.
구현상으로는 symmetry를 지키려 노력을 했지만, 이름에서 symmetry 역시 구현의 symmetry만큼 곰곰히 생각해야 한다.
트랙백 보낼 주소 :: http://www.ologist.co.kr/trackback/818
-
Local Variable
from ologist`s blog2.02008/01/10 08:32나는 메소드를 작성할 때 로컬 변수의 사용을 적게 하는 편이다. 메소드가 길어지면, 가독성이 떨어지기때문에 가능한 2개이상 쓰이지 않으면 로컬 변수는 쓰지 않는다.하지만, 로컬변수를 써서 메소드가 길어지는 것을 감수할 수 있는 경우가 있다.로컬변수의 변수명이 코드를 읽을 때 가독성을 도와주는 경우가 있기 때문이다.kent beck의 implementation patterns(chapter6-STATE, P.51)에서 예제를 가져왔다.int top =.. -
patterns : Most programs follow a small set of laws
from ologist`s blog2.02008/01/10 08:33켄트벡 엉아의 주옥같은 문구들....Programs are read more often than they are written.There is no such thing as "done". Much more investment will be spent modifying programs than developing them initially.They are structured using a basic set of state and control flow..


