리펑토링을 소개하는 임백준님의 마이크로소프트 잡지 글이다.
http://www.imaso.co.kr/?doc=bbs/gnuboard.php&bo_table=article&wr_id=29942
사례 1번은 ‘피그 라틴(Pig Latin)’이라고 불리는 일종의 제 멋대로 이름붙이기이다.
사례 2번은 ‘보물찾기(Treasure Hunt)’이다.
간단하게 두 줄로 구현할 수 있고, 그 자체로 아무 문제가 없는 코드를 객체지향이라는 명목으로 복잡하게 꼬아놓는 것은 현명한 태도가 아니다.
세 번째 사례는 ‘자기만의 모델링 언어(Unique Modeling Language)’를 사용하는 것이다.
네 번째 사례는 ‘너무나 명백한 사실을 상세히 설명하기(Stating Bleeding Obvious)’이다.
정식 직원이 아니라 1년 단위로 계약을 하는 컨설턴트 중에서 이런 사람을 본 적이 많다는데...
다섯 번째 사례는 ‘비오는 날을 위한 시나리오(Rainy Day Scenario)’이다.
필요하지도 않은 코드를 열심히 작성하는 것은 리펑토링을 즐겨 수행하는 프로그래머들이 공통적인 특징이기도 하다.
여섯 번째는 ‘모듈의 중력장(Module Gravity Well)’이다.
리펑토링에 대한 고맨의 글과 프레젠테이션 파일은 워터폴 2006의 홈페이지에서 확인할 수 있다.
http://www.waterfall2006.com/gorman.html
근데 지금 확인해 보니 한개가 추가되어 있다.(발표 자료엔 또 내용이 없네.ㅡㅡa)
일곱 번째는 '개발자 피난처(Developer Foxhole)'이다.
설명으로 봐서는 코드에 대한 설명을 요청할 수 없게 개발자가 숨는다는 것 같다.
크크 코드에 대한 자신이 없으면, 타인이 자신의 코드를 보는 것이 너무 괴롭지. 당연히 설명 따위는 할 수도 없고 말이다.
오래되어 기억 안난다는 것은 너무 상투적인 핑계다.
품질 좋은 코드. 개발자가 명심헤야 할 유일한 숙명이다.
'정보, 통신, 기술 > 개발? 개발! 개발^^' 카테고리의 다른 글
[zdnet] 무서운 아줌마 수잔 데커 야후! 사장 (0) | 2007.10.29 |
---|---|
16시간... 주당이냐. 일당이냐... (0) | 2007.09.04 |
성공적인 개발에 필요한 3가지 (0) | 2007.06.17 |
웹개발자가 익혀야 하는 3가지 마음 (2) | 2007.06.04 |
시나리오와 화면 정의서 (0) | 2007.02.10 |