방프리
21.05.16 클린 코드 Day 3 본문
3. 함수
1. 작게 만들어라!
- 함수는 작게 만들수록 좋다. 대략적으로 100줄 이하가 좋다.
2. 한 가지만 해라!
- 한 가지 함수에 한 가지 일만 하도록 하자. 여러 일을 한 가지 함수에 넣는 순간 디버깅이 힘들어진다.
3. 함수 당 추상화 수준은 하나로!
- 한 함수의 추상화 수준은 하나로 통일되어야 한다. 근본 개념인지, 세부 사항인지 구분이 어렵기 때문이다.
4. 위에서 아래로 코드 읽기 : 내려가기 규칙
- 책을 읽는 느낌으로 코드가 위에서 아래로 읽혀야한다. 논리에 맞게!!
5. 서술적인 이름을 사용해라!
- 함수의 이름만으로 어떤 동작을 하는지 유추할 수 있도록 잘 짓자. 길어도 상관없다.
6. 함수 인수
- 무항일수록 좋다. 테스트도 간편해지도 확인해야할 값의 양도 적어지기 때문이다.
7. 부수 효과를 일으키지 마라!
- 함수에서 한 가지만 하는 것이 아닌 다른 것까지 실행이 된다면 추후 시간적 결합이나 순서 종속성을 초래한다.
8. 출력 인수
- 출력 인수는 왠만하면 피하자. 함수에서 상태를 변경해야 한다면 함수가 속한 객체 상태를 변경하는 방식으로 하자.
9. 명령과 조회를 분리하자!
- 조회와 명령을 구분해서 함수를 만들자. 다른 사람에게 혼동을 주지 않기 위함이다.
10. 오류 코드보다 예외를 사용하라!
- 개발자들은 모든 예외 처리에 대해 로직을 만들 수 없다. try catch를 통해서 방지하자.
11. Try/Catch 블록 뽑아내기
- try/catch는 각 블록마다 함수로 만들어 빼서 사용하자.
12. 오류 처리도 한 가지 작업이다.
- 한 함수에서 여러 가지의 오류 처리를 하지 않도록 하자.
13. 반복하지 마라!
- 중복은 소프트웨어 공학에서 가장 좋지 않은 습관이며, 최악으로 가는 지름길이다. 최대한 중복을 제거하자.
14. 구조적 프로그래밍
- 함수를 작게 만든다면 return, break, continue를 여러 차례 사용해도 괜찮다. goto는 절대 금지
15. 함수를 어떻게 짜죠?
- 일단은 크게 그리고 서투르게 작성하자. 그리고 조금씩 다듬어 나가자. 단 위의 규칙들은 항상 머리 속에 염두할 것 특히, 함수를 작게 만드는 것!!
'CS & Refactoring > 클린코드' 카테고리의 다른 글
20.05.18 클린 코드 Day 2 (0) | 2020.05.18 |
---|---|
20.05.14 클린 코드 Day 1 (0) | 2020.05.14 |