반응형
클린코드 책을 읽다 보니 이건 기록을 해 두면 좋겠다는 생각이 들어 옮겨 놓는다.
소프트웨어를 짜는 행위는 여느 글짓기와 비슷하다. 논문이나 기사를 작성할 때는 먼저 생각을 기록한 후 읽기 좋게 다듬는다. 초안은 대개 서투르고 어수선하므로 원하는 대로 읽힐 때까지 말을 다듬고 문장을 고치고 문단을 정리한다.
내가 함수를 짤 때도 마찬가지다. 처음에는 길고 복잡하다. 들여쓰기 단계도 많고 중복된 루프도 많다. 인수 목록도 아주 길다. 이름은 즉흥적이고 코드는 중복된다. 하지만 나는 그 서투른 코드를 빠짐없이 테스트하는 단위 테스트 케이스도 만든다.
그런 다음 나는 코드를 다듬고, 함수를 만들고, 이름을 바꾸고, 중복을 제거한다. 메서드를 줄이고 순서를 바꾼다. 때로는 전체 클래스를 쪼개기도 한다. 이 와중에도 코드는 항상 단위 테스트를 통과한다.
최종적으로는 이 장에서 설명한 규칙을 따르는 함수가 얻어진다. 처음부터 탁짜내지 않는다. 그게 가능한 사람은 없으리라.
- 클린코드 '함수' 편 중 -
반응형
'프로그래밍' 카테고리의 다른 글
OCP, 추이 종속성(transitive dependency) (0) | 2020.11.03 |
---|---|
퍼사드 패턴(Facade Pattern) (0) | 2020.11.03 |
프로그래밍을 학습하는 방법 (0) | 2020.10.16 |
주석문 (0) | 2020.10.14 |
클래스의 구분. (0) | 2020.07.09 |