이 책을 통해 얻을 수 있는 것
- 좋은 코드와 나쁜 코드를 구별할 수 있는 능력이 생긴다.
- 나쁜 코드를 좋은 코드로 바꾸는 실력이 쌓인다.
코드가 존재하리라
- 기계가 실행할 정도로 상세하게 요구사항을 명세하는 작업이 프로그래밍이다.
- 프로그래밍의 결과물이 코드이다.
- 즉, 코드는 요구사항을 표현하는 언어다.
- 코드는 기계가 이해하고 실행할 정도로 엄밀하고 정확하고 상세하고 정형화되어야한다.
- 제대로 명시한 요구사항은 코드만큼 정형적이며 테스트 케이스로 사용해도 좋다.
나쁜 코드
- 좋은 코드는 중요하다.
- 많은 사람들이 나쁜 코드에 시달려오면서 얻은 사실이다.
- 나쁜코드는 회사를 망하게 할 수도 있다.
- 나중은 결코 오지 않는다.
- 우선 돌아가기라도 하는 프로그램을 짜기 위해서 쓰레기 코드를 짜면 안된다.
- 나중에 손봐야겠다? NO!
나쁜 코드로 치르는 대가
- 나쁜 코드는 개발 속도를 크게 떨어뜨린다.
- 코드를 고칠때마다 엉뚱한 곳에서 문제가 생긴다.
- 얽히고 설킨 코드를 해독해서 얽히고설킨 코드를 더한다.
- 쓰레기가 쌓인다.
- 나쁜 코드가 쌓일수록 팀 생산성은 떨어진다.
- 원대한 재설계의 꿈
- 시간을 들여 깨끗한 코드를 만드려는 노력은
- 비용을 절감하는 방법이다.
- 전문가로서 살아남는 길이다.
- 태도
- 한줄만 고치면 될줄 알았는데 모듈 수백개를 건드린 경험이 있을 것이다.
- 좋은 코드를 사수하는 일은 바로 우리 프로그래머의 책임이다.
- 나쁜 코드의 위험을 이해하지 못하는 관리자 말을 그대로 따르는 행동은 전문가답지 못하다.