함수

작게 만들어라

함수를 만드는 첫 번째 규칙은 "작게" 이다.
두 번째 규칙은 "더 작게" 이다.

들여쓰기

대부분 while, for, if 문 내부에서 함수를 호출한다.
중첩 구조가 생길만큼 함수가 커지면 안된다. 들여쓰기 수준은 1단이나 2단을 넘어서면 안된다.

한가지만 해라

함수는 한 가지를 해야 한다. 그 한 가지를 잘 해야 한다.

함수 당 추상화 수준은 하나로

함수가 확실히 '한 가지' 작업만 하려면 함수 내 모든 문장의 추상화 수준이 동일해야 한다.

위에서 아래로 코드 읽기

코드는 위에서 아래로 이야기처럼 읽혀야 좋다.
한 함수 다음에는 추상화 수준이 한 단계 낮은 함수가 온다.

Switch 문

switch 문은 작게 만들기 어렵다.
다형성을 이용하여 저차원 클래스에 숨기고 반복하지 않는 방법은 있다. 다형성을 이용하는 것

 

 

 

위 함수는 길다.

새로운 EmployeeType을 추가하면 끝도 없이 길어진다.

 

문제를 해결하기 위해 switch 문을 추상 팩토리에 숨기고 아무에게도 보여주지 않는다.

팩토리는 switch를 사용해 Employee 파생 클래스의 인스턴스를 생성한다.

calculatePay, isPayday, deliverPay 등과 같은 함수는 Employee 인터페이스를 거쳐 호출된다.

 

 

 

 

 

 

 

 

'스터디 > 클린코드' 카테고리의 다른 글

[Clean Code] 클린 코드 (함수) - 8  (0) 2021.03.08
[Clean Code] 클린 코드 (함수) - 7  (0) 2021.03.08
[Clean Code] 클린 코드 - 5  (0) 2021.03.08
[Clean Code] 클린 코드 - 4  (0) 2021.03.08
[Clean Code] 클린 코드 - 3  (0) 2021.03.08

+ Recent posts