DAY 5~6
🔖 오늘 읽은 범위 : 3장. 함수
😃 책에서 기억하고 싶은 내용.
- 함수를 만드는 첫째 규칙은 작게, 둘째 규칙은 더 작게
- 각 함수가 너무도 명백했다.
- 함수는 한가지를 잘 해야 한다. 그 한가지를 잘 해야 한다. 그 한가지만을 잘 해야 한다
- 함수가 확실한 ‘한 가지’ 작업만 하려면 함수 내 모든 문장의 추상화 수준이 동일해야 한다. 수준 상 eg. getHtml() 수준 중 eg. String pagePathName = PathParser.render(pagepath); 수준 하 .append(”\n”)
- 한 함수 다음에는 추상화 수준이 한 단계 낮은 함수가 온다.
- 서술적인 이름을 사용하라! 코드를 읽으면서 짐작했던 기능을 각 루틴이 그대로 수행한다면 깨끗한 코드라 불러도 되겠다.
- 플래그 인수는 추하다.
- 함수는 뭔가를 수행하거나 뭔가에 답하거나 둘중 하나만 해야 한다. 둘 다 하면 안 된다.
- 오류 코드보다 예외를 사용하라 (if문 체크보단 try catch를)
- 에츠허르 데이크스트라의 구조적 프로그래밍 원칙을 따른다. 데이크스트라는 모든 함수와 함수 내 모든 블록에 입구와 출구가 하나만 존재해야 한다고 말했다. 즉 함수는 return 문이 하나여야 한다. 루프 안에서 break나 continute를 사용해선 안된다.
- 처음엔 길고 복잡하게 → 이름은 즉흥적이고 코드는 중복 → 단위 테스트 케이스도 만듦 → 코드를 다듬고 → 함수를 만들고 → 이름을 바꾸고 → 중복을 제거한다.
- 함수는 그 언어에서 동사며, 클래스는 명사다.
🤔 오늘 읽은 소감은? 떠오르는 생각
- 클래스는 무조건 명사로 만든다 머리가 깨져도 명사
- 다행히 플래그 인수의 함수를 만들지 않았다. 위험한 냄새를 맡았던 나를 스스로 칭찬한다.
- 추상화 수준이란 것을 생각하면서 함수를 짜야겠다는 생각이든다. 아마도 추상화 중 정도로 많이 쓸 것 같다.
📝소감 3줄 요약
- 머리가 깨져도 클래스 이름은 명사, 함수는 동사
- 오류 코드보다는 예외를 사용
- 플래그 인수는 추함만이 있을뿐
'노마드개발자북클럽 > CleanCode' 카테고리의 다른 글
CleanCode(클린코드) Chapter2 - 의미 있는 이름 (0) | 2022.01.26 |
---|---|
CleanCode(클린코드) Chapter1 - 깨끗한 코드 (0) | 2022.01.23 |
CleanCode(클린코드) 추천사 ~ 들어가면서. (0) | 2022.01.22 |