좋은 코드란 무엇인가에 대한 단상

읽기 쉬운 코드

좋은 코드의 첫 번째 조건은 읽기 쉬워야 한다는 것이다. 코드는 쓰는 시간보다 읽는 시간이 훨씬 길다. 6개월 뒤의 나 자신도 이해할 수 있는 코드를 작성해야 한다.

변수명 하나, 함수 분리 하나가 가독성을 크게 좌우한다.

적정 추상화

추상화는 양날의 검이다. 너무 이르면 잘못된 방향으로 굳어지고, 너무 늦으면 중복이 쌓인다.

  • 비슷한 코드가 3번 반복되면 그때 추상화를 고려한다
  • 추상화의 이유를 한 문장으로 설명할 수 없다면 아직 이르다
  • "혹시 나중에 필요할까봐"는 추상화의 이유가 아니다

삭제하기 쉬운 코드

좋은 코드는 추가하기 쉬운 코드가 아니라, 삭제하기 쉬운 코드라는 말이 있다. 의존성이 적고, 경계가 명확한 코드는 필요 없어졌을 때 깔끔하게 제거할 수 있다.

Write code that is easy to delete, not easy to extend.

결론

정답은 없다. 하지만 "이 코드를 처음 보는 사람이 이해할 수 있는가?"라는 질문은 항상 유효하다. 팀의 맥락, 프로젝트의 규모, 변경 가능성을 고려해서 그때그때 최선의 판단을 내리는 것이 중요하다.

목록으로