TIL: 고품질 코드에 대하여
고품질 코드란?
- 신뢰할 수 있고, 유지보수가 쉬우며, 버그가 거의 없는 코드
고품질 코드의 목표 4가지
- 작동해야 한다
- 코드의 기본 목적은 의도한 기능을 수행하는 것
- 작동이 멈추면 안 된다
- 안정적으로 동작하며 예기치 않은 실패를 최소화
- 변경된 요구 사항에 적응할 수 있어야 한다
- 유연성을 갖춰 요구 사항 변화에 대응 가능
- 이미 존재하는 기능을 중복 구현해서는 안 된다
- 중복 코드를 피하고 효율성을 높임
코드 품질의 6가지 핵심 요소
- 코드는 읽기 쉬워야 한다
- 명확하고 직관적이어서 다른 개발자가 쉽게 이해 가능
- 코드는 예측 가능해야 한다
- 동작이 일관되고 예상대로 작동
- 코드를 오용하기 어렵게 만들라
- 실수를 유발할 여지를 줄이는 설계
- 코드를 모듈화하라
- 기능 단위로 분리해 독립성과 유지보수성 향상
- 코드를 재사용 가능하고 일반화할 수 있게 작성하라
- 반복 사용이 가능하고 특정 상황에 국한되지 않도록
- 테스트가 용이한 코드를 작성하고, 제대로 테스트하라
- 테스트 가능성을 염두에 두고 철저히 검증
추가 인사이트
- 가독성: 코드의 가독성이 떨어지면 다른 개발자가 이해하는 데 많은 시간이 소요됨
- 모듈화: 잘 모듈화된 코드는 한 부분을 수정해도 다른 부분에 영향을 주지 않음
- 코드 양: 코드베이스에서 코드 라인이 적을수록 좋다.
- 우리는 코드를 많이 작성한 대가를 받는 것이 아니라, 문제를 해결한 대가를 받는다.
- 코드란 문제 해결의 수단일 뿐이며, 적은 노력으로 문제를 해결하고 버그를 줄이는 것이 목표
- 테스트: 코드를 작성하면서 "어떻게 테스트할 것인가?"를 계속 자문하라
고품질 코드 작성은 일정을 지연시키는가?
- 단기적 관점: 코드 품질을 신경 쓰면 초기 작업 시간이 더 걸릴 수 있음
- 중장기적 관점:
- 개발 시간을 단축하고 유지보수 비용을 줄임
- 품질을 무시하고 즉흥적으로 작성한 코드는 처음엔 빠를지 몰라도, 결국 취약하고 복잡한 코드베이스가 됨
- 이런 코드는 이해와 추론이 어려워지고, 새 기능 추가나 버그 수정에 시간이 점점 더 많이 걸림
- 작동하지 않는 코드를 수정하거나 재설계해야 하는 부담 발생
결론: 고품질 코드는 초기 투자가 크더라도, 장기적으로 프로젝트의 성공과 효율성을 보장한다.
'TIL > 좋은 코드, 나쁜 코드' 카테고리의 다른 글
| 4. 오류 (0) | 2025.04.13 |
|---|---|
| 3. 다른 개발자와 코드 계약 (0) | 2025.03.30 |
| 2. 추상화 계층 (0) | 2025.03.23 |