728x90
반응형
함수
- 작게 만들어라
- 블록과 들여쓰기 - 들여쓰기 수준은 1단 or 2단을 넘어서는 안된다.
- 한 가지만 해라
- 함수는 한 가지를 해야 한다. 그 한 가지를 잘 해야 한다. 그 한 가지만을 해야 한다.
- 함수 당 추상화 수준은 하나로
- 함수명에 서술적인 이름을 사용하라
- getUser 보단 getUserIdAndPwd가 더 좋은 함수명
- 함수의 코드를 읽으면서 함수명에서 짐작했던 기능을 그대로 수행한다면 깨끗한 코드
- 함수 인수
- 함수에서 이상적인 인수 개수는 0이다.
why? - 인수는 함수를 사용하는 독자가 이해하기 어렵다. - 플래그 인수 - 함수 사용시 true 와 false를 넘기는 인수
플래그 인수는 추하다
why? - 함수가 한꺼번에 여러 가지를 처리 한다고 공표하는 함수니.
( true일때 이거하고 false일때 이거하고..... )
- 함수에서 이상적인 인수 개수는 0이다.
- 부수 효과를 일으키지 마라
- 함수의 한가지 역할을 제외한 그외의 효과를 넣어선 안된다.
- 출력 인수
- 받은 인자를 다시 수정을 통해 보내주는 함수를 만들지 마라.
ex ) public stringbuffer appendName( stringbuffer name ) {
....
return name
}
- 받은 인자를 다시 수정을 통해 보내주는 함수를 만들지 마라.
- 명령과 조회를 분리하라
- 오류 코드보다 예외를 사용하라
- 반복하지 마라
- 프로그래밍 언어의 진화는 중복제거의 역사이다.
- 함수를 어떻게 짜죠?
- 글짓기와 같다
- 처음엔 길고 복잡하지만 단위테스트를 통과하는 함수를 작성한다.
- 코드를 다듬고, 함수를 만들고, 이름을 바꾸고, 중복을 제거하며 메서드를 줄이고 순서를 바꾼다 ( 리팩토링 )
- 단위테스트를 통과한다
728x90
'서적 > 기술서적' 카테고리의 다른 글
객체지향의 사실과 오해 (0) | 2022.05.11 |
---|