Clean Code

: 동작만 하는 코드가 아니라 가독성, 확장성, 유지 보수성이 높은 코드를 의미한다.

 

필요성

: 개발 생산성 향상

     1.  효율적인 협업

          - 다른 사람들에게 설명하기 용이하다.

     2. - 유지보수 비용 감소

 

나쁜 코드

1. 가독성이 낮은 코드

     - ex) 의미를 파악할 수 없는 변수명을 가진다.

2. 확장성이 낮은 코드

     - ex) 기능을 확장할 때마다 코드를 추가해야 한다.

 

방법

1. 명확한 명명

     - 언어 별 네이밍 컨벤션 준수

     - 행위나 용도가 명확하게 나타나도록 작성

2. 긍정문 지향적 명명

     - 이중 부정 발생 시 논리적 복잡도 증가

3. 함수 작게 생성(코드량 적게)

     - 한 메서드는 단일 기능을 담당

          - 한 메서드가 너무 많은 책임 할당

          - 메서드 가독성 저하

     - 들여쓰기 자제: 들여쓰기가 두 번을 넘어가지 않게 작성

          - 메서드 가독성 저하

4. 불필요한 주석 사용 자제

     - 코드만으로 이해할 수 있게 작성된 것이 잘 작성된 것

5. SOLID 원칙

     - SRP: 단일 책임 원칙

     - OCP: 개방 폐쇄 원칙

          - 확장에는 열려있되 변경에는 닫혀있다.

     - LSP: 리스코프 치환 원칙

          - 하위 타입을 상위타입으로 교체해도 기능에 문제가 없다.

     - ISP: 인터페이스 분리 원칙

          - 사용하지 않는 기능에 의존하지 않는다.

          - 인터페이스는 필요한 기능만 갖는다.

     - DIP: 의존성 역전 원칙

          - 세부사항이 아니라 추상화에 의존한다.

          - 세부사항은 변할 가능성이 높다.

 

*Clean Code, SOLID 모두 개발 생산성 향상을 위한 것으로 이에 매몰되지 않도록 한다.*

+ Recent posts