본문 바로가기
BOOK

클린코드

by 어컴띵 2021. 12. 6.

네이밍이 중요하다

형식을 잘따라야한다

변수선언은 사용하기전 가까운곳에

인스턴스변수는 상단에

주석을 달기전에 먼저 코드를 읽기 쉽게 작성하라

추상화 수준을 아래로 갈수록 자셋한 수준으로 코딩

 

함수는 되도록 짧은 행수를 유지

하나의 함수는 하나의 작업만 실행

하나의 함수에는 추상화 수준을 동일하게 유지

인수목록은 최대한 2개로 유지 그이상은 클래스로 작성

 

오류는 try catch를 사용(오류코드는 사용을 제한)

오류를 처리하는 함수를 별로도 작성

null을 반환하지말고(빈객체나, 빈리스트를 반환), null을 전달하지 마라

 

클래스 추상화(객체, 자료구조객체)

객체와 자료구조(객체는 동작이 중요, 자료구조는 동작없이 자료를 노출)

객체는 새로운 객체를 만들기 쉽고, 자료구조는 새로운 동작을 추가하기 쉬우므로 적절한 상황에 맞게 사용

객체와 자료구조를 하나의 클래스에서 짬뽕으로 사용하지 말자(객체는 객체로, 자료구조는 자료구조로)

DTO는 자료전달객체

 

경계

외부코드 사용시 필요한 인터페이스만 제공하는 클래스를 만들고 외부코드는 내부로 숨긴다.

외부라이브러리 사용시 학습테스트를 이용하여 코드사용법을 익힌다.

아직 존재하지 않는 코드 사용시 자체 인터페이스를 정의하고 임시객체를 만들어 작업하고 나중에 실제객체로 대체한다.

경계에 위치하는 코드는 깔끔하게 정리한다.

외부 프로그램을 세세하게 알필요가 없이 우리가 필요한 인터페이스를 정의해서 작업한다.

 

클래스

단일책임의원칙(SRP: Single Responsibility Principle)

응집도

변경이 필요할때 기존코드를 리팩토링하여 변경하기 쉽게 만든다.

인터페이스와 추상클래스를 이용하여 변경으로 부터 격리한다.