Skip to content

Latest commit

 

History

History
32 lines (20 loc) · 1.65 KB

File metadata and controls

32 lines (20 loc) · 1.65 KB

깨끗한 코드를 짜려면

프로그래밍은 과학보다 공예(Craft)에 가깝다.

깨끗한 코드를 짜려면 먼저 지저분한 코드를 짠 뒤에 정리해야한다.

→ 대부분의 프로그래머들은 무조건 돌아가는 프로그램을 목표로 잡는다.

→ 일단 프로그램이 돌아가면 다음업무로 넘어간다.

→ 돌아가는 프로그램은 그 상태가 어떻든 그대로 버려둔다.

→ 단순히 돌아가는 코드에 만족하는 프로그래머는 전문가 정신이 부족하다.

점진적 개선

  • 프로그램을 망치는 가장 좋은 방법은 개선이라는 이름 아래 구조를 뒤집는 행위이다.
  • 어떤 프로그램은 그저 그런 개선에서 회복하지 못한다. → 개선 전과 같이 프로그램을 돌리기 어려워야한다.
  • 변경 전후 시스템이 똑같이 돌아간다는 사실을 확인하려면 실행이 가능한 자동화된 테스트 슈트가 필요하다.

소프트웨어 설계

  • 소프트웨어 설계는 분할만 잘해도 품질이 크게 높아진다.
  • 적절한 장소를 만들어 코드를 분리해도 설계가 좋아진다.
  • 관심사를분리하면 코드를 이해하고 보수하기 훨씬 쉬워진다.

나쁜코드

  • 나쁜 코드도 깨끗한 코드로 개선할 수 있지만 비용이 많이 발생한다.
  • 하지만 5분 전에 엉망으로 만든 코드는 지금 당장 정리하기 아주 쉽다.
  • 나쁜 코드를 방치하면 영원히 우리 운명을 지배할 악성코드라는 굴레를 짊어진다.
  • 코드는 언제나 최대한 깔끔하고 단순하게 정리하자. 절대로 썩어가게 방치하지말자