본문 바로가기
공부 기록

[클린코드] 1장. 깨끗한 코드

by 매트(Mat) 2024. 4. 13.

1장. 깨끗한 코드

이 책을 읽는 이유

  • 프로그래머라서
  • 더 나은 프로그래머가 되기 위해

코드가 존재하리라

코드를 자동으로 생성하는 시대가 다가온다. 그때가 되면 프로그래머는 필요가 없다. 그렇지 않다!

코드는 요구사항을 상세히 표현하는 수단으로, 어느 수준에 이르면 코드의 도움 없이 요구사항을 상세하게 표현하기란 불가능하다.

나쁜 코드

그들은 출시에 바빠 코드를 마구 짰다. 기능을 추가할수록 코드는 엉망이 되어갔고, 결국은 감당이 불가능한 수준에 이르렀다. 회사가 망한 원인은 바로 나쁜 코드 탓이었다.

자신이 짠 쓰레기 코드를 쳐다보며 나중에 손보겠다고 생각한 경험이 있다. 나중에 정리하겠다고 다짐하지만 결코 나중은 돌아오지 않는다.

나쁜 코드로 치르는 대가

나쁜 코드가 쌓일수록 팀 생산성은 떨어진다. (모든면에서)

나쁜 코드로 전락한 이유

  • 요구사항 변경
  • 일정 촉박
  • 관리자 잘못

기한을 맞추는 유일한 방법은 언제나 코드를 최대한 깔끔하게 유지하는 습관이다.

그래서 팀단위로 코드리뷰하고, 서로 같이 피드백을 주는 것이 이러한 이유일 것이다.

따라서 시간이 없다고 막 개발하고 배포하지 말고, 시간이 없더라고 조금 더 생각해보고 코드를 짜는 것이 중요하다.

여기서 말하는 클린 코드의 공통점이 있다.

  • 의존성을 줄이자.
  • 최대한 단순하고 직접적이다.
    • 명쾌한 추상화와 단순한 제어문으로 가득하다.
  • 다른 사람이 읽기 쉽고 고치기 쉽다.
  • 단위테스트와 인수 테스트가 존재한다.
  • 누구보다 주의깊게 코드를 짠다.
  • 중복되는 코드를 최대한 줄인다.

그렇다. 클린 코드란 남들이 알아보기 힘들만큼의 극한의 효율을 중시하여, 나만 알아볼 수 있고, 복잡하게 짜여있는 코드가 절대 아니다.

중요한건 단순해야 하고, 남들이 보기 쉬워야 하고, 중복되는 코드를 줄이는 것이다.

클린코드 책을 읽는다고 내가 바로 클린코드의 장인이 되는 것이 아니다. 결국은 책에서 나오는 말들을 이해하고, 실제 경험해보는 것이 좋다. 연습이 제일 중요하다!

References

댓글