/// Nomad Coder - 클린코드 - 14장. 점진적인 개선
/// @author : CloudD
/// @last update : 2025. 06. 28.
/// @update
/// - 2025. 06. 28 : 최초 작성.
/// </summary>
![]() |
Chat GPT 가 생성한 '개발자의 독서' 이미지 #13 |
이번 주에는 14장 “점진적인 개선” 을 읽었습니다.
읽는 동안 인상 깊었던 내용과 기억하고 싶은 문장들을 정리해 봅니다.
기억하고 싶은 문장들
“프로그래밍은 과학보다 공예에 가깝다는 사실이다. 깨끗한 코드를 짜려면 먼저 지저분한 코드를 짠 뒤에 정리해야 한다는 의미이다.”
“깔금한 작품을 내놓으려면 단계적으로 개선해야 한다.”
“프로그램을 망치는 가장 좋은 방법 중 하나는 개선이라는 이름 아래 구조를 크게 뒤집는 행위다. '개선' 전과 똑같이 프로그램을 돌리기가 아주 어렵기 때문이다.”
“변경 전후에 시스템이 똑같이 돌아간다는 사실을 확인하려면 언제든 실행이 가능한 자동화된 테스트 슈트가 필요하다.”
“소프트웨어 설계는 분할만 잘해도 품질이 크게 높아진다. 관심사를 분리하면 코드를 이해하고 보수하기 훨씬 더 쉬워진다.”
“그저 돌아가는 코드만으로는 부족하다. 단순히 돌아가는 코드에 만족하는 프로그래머는 전문가 정신이 부족하다.”
“코드는 언제나 최대한 깔끔하고 단순하게 정리하자. 절대로 썩어가게 방치하면 안된다.”
결론
이 장에서 저자는 자신의 코드가 어떻게 변해가는지 보여주었습니다.
단순한 코드가 요구사항이 추가되면서 점점 어지러워졌다가, 리팩터링을 통해 다시 깔끔해지는 과정을 상세히 소개했습니다.
저자의 예시 속에서 복잡해진 코드가 깨끗해지는 모습을 보며 많은 것을 느꼈습니다.
하루아침에 터득할 수 있는 스킬은 아니겠지만, 이것이야말로 프로그래머에게 필요한 태도라고 생각했습니다.
저자는 결론 부분에서 나쁜 코드의 위험성에 대해 한번 더 강조하고 있습니다.
나쁜 일정은 다시 짜면 된다.
나쁜 요구사항은 다시 정의하면 된다.
나쁜 팀 역학은 복구하면 된다.
하지만 나쁜 코드는 썩어 문드러진다. 점점 무게가 늘어나 팀의 발목을 잡는다.
저자의 말 처럼 나쁜 코드는 분명 큰 해를 끼칩니다.
개발 속도를 느려지게 만드는 것을 넘어, 아예 멈추게 만들기도 합니다.
이런 나쁜 코드들도 깨끗한 코드로 개선할 수 있습니다. 하지만 비용이 엄청나게 많이 들 것입니다.
나쁜 코드가 된지 오래되었다면 비용은 더 많이 들 것입니다.
그렇지만 완성된지 이제 5분 된 코드라면, 오늘 오전에 구현한 코드라면 정리하는 것이 그리 어렵진 않을 것 입니다.
더 늦기 전에, 더 상하기 전에 코드를 정리해야 할 것 같습니다.
오늘부터 IDE를 종료하기 전에 코드를 되돌아보는 습관을 가져야겠습니다.