TIL: 고품질 코드에 대하여

고품질 코드란?

  • 신뢰할 수 있고, 유지보수가 쉬우며, 버그가 거의 없는 코드

고품질 코드의 목표 4가지

  1. 작동해야 한다
    • 코드의 기본 목적은 의도한 기능을 수행하는 것
  2. 작동이 멈추면 안 된다
    • 안정적으로 동작하며 예기치 않은 실패를 최소화
  3. 변경된 요구 사항에 적응할 수 있어야 한다
    • 유연성을 갖춰 요구 사항 변화에 대응 가능
  4. 이미 존재하는 기능을 중복 구현해서는 안 된다
    • 중복 코드를 피하고 효율성을 높임

코드 품질의 6가지 핵심 요소

  1. 코드는 읽기 쉬워야 한다
    • 명확하고 직관적이어서 다른 개발자가 쉽게 이해 가능
  2. 코드는 예측 가능해야 한다
    • 동작이 일관되고 예상대로 작동
  3. 코드를 오용하기 어렵게 만들라
    • 실수를 유발할 여지를 줄이는 설계
  4. 코드를 모듈화하라
    • 기능 단위로 분리해 독립성과 유지보수성 향상
  5. 코드를 재사용 가능하고 일반화할 수 있게 작성하라
    • 반복 사용이 가능하고 특정 상황에 국한되지 않도록
  6. 테스트가 용이한 코드를 작성하고, 제대로 테스트하라
    • 테스트 가능성을 염두에 두고 철저히 검증

추가 인사이트

  • 가독성: 코드의 가독성이 떨어지면 다른 개발자가 이해하는 데 많은 시간이 소요됨
  • 모듈화: 잘 모듈화된 코드는 한 부분을 수정해도 다른 부분에 영향을 주지 않음
  • 코드 양: 코드베이스에서 코드 라인이 적을수록 좋다.
    • 우리는 코드를 많이 작성한 대가를 받는 것이 아니라, 문제를 해결한 대가를 받는다.
    • 코드란 문제 해결의 수단일 뿐이며, 적은 노력으로 문제를 해결하고 버그를 줄이는 것이 목표
  • 테스트: 코드를 작성하면서 "어떻게 테스트할 것인가?"를 계속 자문하라

고품질 코드 작성은 일정을 지연시키는가?

  • 단기적 관점: 코드 품질을 신경 쓰면 초기 작업 시간이 더 걸릴 수 있음
  • 중장기적 관점:
    • 개발 시간을 단축하고 유지보수 비용을 줄임
    • 품질을 무시하고 즉흥적으로 작성한 코드는 처음엔 빠를지 몰라도, 결국 취약하고 복잡한 코드베이스가 됨
    • 이런 코드는 이해와 추론이 어려워지고, 새 기능 추가나 버그 수정에 시간이 점점 더 많이 걸림
    • 작동하지 않는 코드를 수정하거나 재설계해야 하는 부담 발생

결론: 고품질 코드는 초기 투자가 크더라도, 장기적으로 프로젝트의 성공과 효율성을 보장한다.

'TIL > 좋은 코드, 나쁜 코드' 카테고리의 다른 글

4. 오류  (0) 2025.04.13
3. 다른 개발자와 코드 계약  (0) 2025.03.30
2. 추상화 계층  (0) 2025.03.23

+ Recent posts