Community

개발자 99% 커뮤니티에서 수다 떨어요!

← Go back
TIL 1장 깨끗한 코드
#clean_code
2년 전
609


TIL (Today I Learned)

2022.02.19

오늘 읽은 범위

1장. 깨끗한 코드

책에서 기억하고 싶은 내용을 써보세요.

  • 궁극적으로 코드는 요구사항을 표현하는 언어라는 사실을 명심한다. (p.3)

  • 기한을 맞추는 유일한 방법은, 그러니까 빨리 가는 유일한 방법은, 언제나 코드를 최대한 깨끗하게 유지하는 습관이다. (p.7)

  • 나쁜 코드는 너무 많은 일을 하려 애쓰다가 의도가 뒤섞이고 목적이 흐려진다. 깨끗한 코드는 한 가지에 '집중'한다. 각 함수와 클래스와 모듈은 주변 상황에 현혹되거나 오염되지 않은 채 한길만 걷는다. (p.10)

  • 다음에 코드를 짤 때는 자신이 저자라는 사실을, 여러분의 노력을 보고 판단을 내릴 독자가 있다는 사실을 기억하길 바란다. (p.17)

  • 주변 코드가 읽기 쉬우면 새 코드를 짜기도 쉽다. 주변 코드를 읽기가 어려우면 새 코드를 짜기도 어렵다. 그러므로 급하다면, 서둘러 끝내려면, 쉽게 짜려면, 읽기 쉽게 만들면 된다.

오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요

  • "우리 모두는 자신이 짠 쓰레기 코드를 쳐다보며 나중에 손보겠다고 생각한 경험이 있다. 우리 모드는 대충 짠 프로그램이 돌아간다는 사실에 안도감을 느끼며 그래도 안 돌아가는 프로그램보다 돌아가는 쓰레기가 좋다고 스스로를 위로한 경험이 있다. 다시 돌아와 나중에 정리하겠다고 다짐했었다. 나중은 결코 오지 않는다." 이 문단이 너무 공감되어 웃었다. 프로젝트 초기에는 깨끗한 코드를 위해 요구사항 파악과 기능 분리에 중점을 두지만 데드라인이 다가올수록 돌아가기만 하는 쓰레기로 만들게 되었다. 고칠 수 있는 순간이 올 거라고 생각했지만 그 순간은 오지 않았다. 그걸 알면서도 신규 프로젝트에서 또 다른 쓰레기를 만들면서 또 기약 없는 나중을 기대하였다.

  • 시스템 고도화 프로젝트에 참여하면서 기존 코드를 분석한 적이 있다. 코드 정말 잘짰다라는 생각보다는 늘 왜 이렇게 짜놨을까하는 의문을 많이 가졌었다. 후자의 생각을 가진 코드를 보면 분석도 오래 걸리고 그걸 다시 재설계하는것도 시간이 든다. 뭉쳐져 있는 각자의 기능들을 분리해야 하고 그렇게 되면 새로운 모델이나 클래스를 생성해야 하기 때문이다. 나 역시 1~2년차까지는 나중의 누군가가 고생하겠지라는 생각으로 구현 자체에만 집중했었지만 연차가 쌓일수록 기능을 모듈화하고 중복되는 기능은 공통적으로 사용할 수 있게 만드는 것이 너무나도 중요한 것을 알고 최대한 중복을 제거하고 쉬운 코드로 구현하려고 하지만 아직은 많이 부족하다. 그래서 이 책의 남은 장들이 더욱 궁금해진다.

  • 깨끗한 코드라는건 1인분을 잘하는 코드라고 생각한다. 더도말고 덜도말고 딱 본인의 역할, 1인분만. 그리고 그걸 남이 보았을 때 이 코드의 1인분이 어떤 역할인지 쉽게 알 수 있도록 짜야 한다.

궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.