클린코드 작성법 (3)

Jiwon·2021년 5월 4일
0

클린 코드 원칙

목록 보기
3/6

" 부수효과 "

한 군데를 고치면 다른 곳에서 문제가 생기는 현상을 부수 효과라고 한다.
원래의 목적과 다르게 다른 효과 또는 부작용이 나는 상태를 지칭한다.

그와 반대로 순수함수는 부수효과가 없는 함수를 의미한다.
즉, 어떤 함수에 동일한 인자를 주었을 때 항상 같은 값을 리턴하는 함수를 의미

한 마디로 정리하자면
부수효과 = 거짓말

함수에서 한 가지를 하겠다고 약속하고는 남몰래 다른 짓을 하는 것이므로,
한 함수에서 딱 한가지만 수행할 것을 원칙으로 한다.

따라서, 부수효과는 최대한 일어나지 않아야 한다.
값을 구한다고 하는 함수명과는 맞지 않기 때문에 이를 부수효과라고 표현하는 것.

만약 내부적으로 여러 일을 하고 싶은 함수라면 메소드 명을 구체적으로 변경해야 한다.

주석은 나쁜 코드를 보완하지 못한다.

코드에 주석을 추가하는 일반적인 이유는 코드 품질이 나빠서이다.
깔끔하고 주석이 거의 없는 코드가,
복잡하고 어수선하며 주석이 많이 달린 코드보다 훨~씬 좋다.

주석으로 설명하려 애쓰는 대신에 코드만으로 이해할 수 있게 서술하는 것이 좋다.

주석이 필요로 한 경우
1. 코드로 남지 않는 숨겨진 의도를 설명하는 주석
2. 개발해야 하지만 현재로서는 하기 힘든 경우
3. 현재는 하위호환성 위해 혹은 작업할 시간이 없어서 존재하지만 추후에는 실제되어야 하는 경우에 남기는 TODO 주석 등

명령하는 것과 조회하는 함수를 분리하는 편이 좋다.
예를 들면 set_value 와 check_value

함수는 이름에 담긴 한 가지 일만 해야 한다.
1. 같은 일을 하는 함수가 두 개 있으면 안 된다.
2. 함수명에 있는 일만 하자. 너무 많으면 안 된다.

*알아두면 좋은 것
저번에 early return에 대해서 얘기 했는데, 추가적인 설명을 적고자 한다.
사전 조건이 거짓이라면 빠르게 반환해서 더 이상 다음 단계가 실행되지 않도록 하는 것.
빨리 return 하도록 코드를 변경하는 것이 early return의 핵심이다.

profile
과연 나는 ?

0개의 댓글