Clean Code
: 동작만 하는 코드가 아니라 가독성, 확장성, 유지 보수성이 높은 코드를 의미한다.
필요성
: 개발 생산성 향상
1. 효율적인 협업
- 다른 사람들에게 설명하기 용이하다.
2. - 유지보수 비용 감소
나쁜 코드
1. 가독성이 낮은 코드
- ex) 의미를 파악할 수 없는 변수명을 가진다.
2. 확장성이 낮은 코드
- ex) 기능을 확장할 때마다 코드를 추가해야 한다.
방법
1. 명확한 명명
- 언어 별 네이밍 컨벤션 준수
- 행위나 용도가 명확하게 나타나도록 작성
2. 긍정문 지향적 명명
- 이중 부정 발생 시 논리적 복잡도 증가
3. 함수 작게 생성(코드량 적게)
- 한 메서드는 단일 기능을 담당
- 한 메서드가 너무 많은 책임 할당
- 메서드 가독성 저하
- 들여쓰기 자제: 들여쓰기가 두 번을 넘어가지 않게 작성
- 메서드 가독성 저하
4. 불필요한 주석 사용 자제
- 코드만으로 이해할 수 있게 작성된 것이 잘 작성된 것
5. SOLID 원칙
- SRP: 단일 책임 원칙
- OCP: 개방 폐쇄 원칙
- 확장에는 열려있되 변경에는 닫혀있다.
- LSP: 리스코프 치환 원칙
- 하위 타입을 상위타입으로 교체해도 기능에 문제가 없다.
- ISP: 인터페이스 분리 원칙
- 사용하지 않는 기능에 의존하지 않는다.
- 인터페이스는 필요한 기능만 갖는다.
- DIP: 의존성 역전 원칙
- 세부사항이 아니라 추상화에 의존한다.
- 세부사항은 변할 가능성이 높다.
*Clean Code, SOLID 모두 개발 생산성 향상을 위한 것으로 이에 매몰되지 않도록 한다.*
'CS' 카테고리의 다른 글
포트 중복 사용: 아무런 수정을 안 했는데 웹서버 시작이 안 된다? (0) | 2025.05.30 |
---|---|
버그를 꼼꼼하게 잡아내자, 효과적인 테스트 코드 작성하기 (0) | 2025.05.27 |