Clean Code that Works.


CODE COMPLETE 9장.

의사코드 프로그래밍에 대해 이야기 하고 있다.
뭐.. 간단히 슈도 코드를 사용해서 작성하고 이를 코드로 바꾼다는 이야기.

나도 아직 경험이 적기 때문에 완벽히 적용하고 있지는 않지만 적용하기 위해 노력해야 겠다.
요즘에야 TTD 나 리팩토링 기법도 자주 사용되고 있지만,
그전에 슈도 코드로 미리 작성을 해보고 이를 가지고 TTD를 적용하여 개발 하는게 좋은 것 같다는 생각이 든다.

가장 중요한 건 "컴파일 한 번만 더" 증후군에 걸리지 않는다.
공감하는 내용.
이는 조급하게 오류를 유발할 수 있는 변경을 하게 만들고,
길게 봤을 때 더 많은 시간이 걸리게 한다.
루틴이 맞다는 확신이 들 때까지 컴파일 하지 않도록 하자.
웹 브라우저 테스트 해보기 전에 지금 무엇을 테스트하려는지 명확히 하고 지금 테스트 하려는 코드가 올바르게 동작 하는지 충분한 생각을 한 후 테스트 해보도록 하자.

뒷 부분 요점 정리를 옴겨 보면.
- 클래스와 루틴의 구현은 반복적인 경향이 있다. 특정한 루틴을 구현하는 도중에 얻게 되는 내용들이 클래스의 설계에 영향을 미치는 경향이 있다.
 - 훌륭한 의사코드를 작성하기 위해서는 이해 가능한 영어를 사용하고, 단일 프로그래밍 언어에 특화된 기능들을 피하고, 의도 수준에서 작성해야 한다.( 어떻게 처리할 것인지 보단느 설계가 무엇을 하는지 기술한다.)
 - 의사코드 프로그래밍 프로세스는 상세 설게에 유용한 도구이며 코드 작성을 쉽게 만든다. 의사코드는 곧바로 주석으로 변환되며, 변환된 주석은 정확하고 유용하다.
 - 여러분이 생각한 첫 번째 설계로 결정하지 않는다. 의사코드에서 여러 가지 접근 방법을 이용하여 반복하고 코드를 작성하기 전에 가장 좋은 접근 방법을 선택한다.
 - 각 단계에서 자신의 작업을 검사하고 다른 사람들도 여러분의 작업을 검사하도록 한다. 그렇게 하면, 가장 적은 노력을 들였을 때 가장 적은 비용 수준에서 실수를 잡을 수 있을 것이다.