반응형
2. 함수
- 이 내용은 TDD, Clean code 스터디 할 때 배웠던 내용이 다수 있다.
- 함수는 최대한 작게 하라
- 하나의 기능만 들어갈 수 있도록
- 함수 당 추상화 수준은 하나로 해야한다.
- 즉 if안에 if 넣지 마라
- 애시당초 if안에 if가 들어가게 되는 구조라면 하나의 function에서 multi 기능을 담당하고 있는 것이다.
- Switch문이나 if / else if 등으로 붙는 코드들은 이렇게 지키기는 어렵다고 필자도 인정한다. 그래도 다형적 객체를 생성하는 코드에 한해서만 인정하고 있다.
- 같은 모듈내에서의 함수는 어느정도의 일관성이 존재해야한다.
- 같은 문구, 동사, 명사를 사용하는 것 처럼
- 함수 parameter는 3개부터는 가급적 피해야 하고 4개 이상은 반드시 이렇게 해야하는 이유가 있어도 가급적 피해야 한다.
- 함수 parameter로 flag를 쓰는 건 피해라.
- 애시당초 parameter로 flag를 받겠다는 것은 flag 값에 따라 다른 역할을 수행하겠다. 즉 2개의 역할을 하겠다는 것이기 때문에
- 부수 효과를 추가하지 마라
- checkpassword 이라는 function 안에 Session.initialize() 와같은 코드를 넣으면 안 된다.
- function 이름을 바꾸던가 아니면 Session 초기화 하는 것을 빼든가
- Try/Catch 함수는 따로 빼라
- checkpassword 이라는 function 안에 Session.initialize() 와같은 코드를 넣으면 안 된다.
- 구조적 프로그래밍 원칙을 따라라
- goto 문은 절대로 사용하지 마라
- return은 하나만 존재해야 하고 break, continue는 가급적 사용하지 마라
- 저자는 함수가 정말 작아질 수 있다면 return, break, continue를 복수로 사용해도 된다 생각하고 말하고 있다.
반응형
'개발 일반' 카테고리의 다른 글
개발 일반잊을 때쯤 한번 다시 읽어봐야할 Clean code에 관하여 (오류 처리) (0) | 2021.03.23 |
---|---|
잊을 때쯤 한번 다시 읽어봐야할 Clean code에 관하여 (주석) (0) | 2021.03.15 |
잊을 때쯤 한번 다시 읽어봐야할 Clean code에 관하여 (의미 있는 이름) (0) | 2021.03.15 |
잊을 때쯤 한번 다시 읽어봐야할 Clean code에 관하여 (들어가며) (0) | 2021.03.15 |
muuri로 Drag&Drop 만들기 (0) | 2021.01.27 |