잠재적 버그 요인이고,


유지보수를 2배 이상 힘들게 한다.


사용하지 않는 변수 함수등의 정의들 이상으로


소중한 시간 컨슘하고 사람 열받게 하는거거든.


refactoring 의 방향은


수정포인트를 최소화하고


하나의 기능 수정이 다른 기능에 영향 미칠 가능성을 ( 이것도 side effect )


최소화 하는것, 즉 직교성( orthogonality ) 을 높이는 방향이어야 한다.


가급적 모든 함수는 하는 일이 단순해서,


함수 이름만으로 알 수 있는 정도까지 쪼개야 한다.


- 코세 -