Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 일본워킹홀리데이계획서
- 파이썬
- 바이트디그리
- 일본워킹홀리데이이유서
- 독후감
- 일러스트레이터강의
- 중첩된객체
- python turtle
- flexbox
- 일본워홀서류
- 3장함수
- 코딩 #개발자 #노마드북클럽 #노개북
- 5장형식맞추기
- 디지털기초역량훈련
- css
- 클린코드
- 웹개발자를위한자바스크립트의모든것
- 7장오류처리
- 노개북
- 국비지원
- 파이썬터틀
- 디스트럭처링
- 9장단위테스트
- es6
- JavaScript
- 내일배움카드
- 플렉스박스
- 자바스크립트
- 패스트캠퍼스
- python
Archives
- Today
- Total
KARIU의 IT 블로그
클린 코드 - 3장 함수 본문
반응형
클린코드 TIL(Today I Learned) - Day3 (2022.02.23)
오늘 읽은 범위
3장. 함수
책에서 기억하고 싶은 내용을 써보세요.
- 함수를 만드는 첫째 규칙은 '작게!'다. 함수를 만드는 둘째 규칙은 '더 작게!'다. (p.42)
- if문, else문, while문 등에 들어가는 블록은 한 줄이어야 한다는 의미다. (p.42)
- 중첩 구조가 생길만큼 함수가 커져서는 안 된다는 뜻이다. 그러므로 함수에서 들여쓰기 수준은 1단이나 2단을 넘어서면 안 된다. (p.44)
- 함수는 한 가지를 해야 한다. 그 한 가지를 잘 해야 한다. 그 한 가지만을 해야 한다. (p.44)
- 코드는 위에서 아래로 이야기처럼 읽혀야 좋다. 한 함수 다음에는 추상화 수준이 한 단계 낮은 함수가 온다. 즉, 위에서 아래로 프로그램을 읽으면 함수 추상화 수준이 한 번에 한 단계씩 낮아진다. (p.46)
- 이름이 길어도 괜찮다. 겁먹을 필요없다. 길고 서술적인 이름이 짧고 어려운 이름보다 좋다. 길고 서술적인 이름이 길고 서술적인 주석보다 좋다. (p.49)
- 함수에서 이상적인 인수 개수는 0개(무항)다. 다음은 1개(단항)고, 다음은 2개(이항)다. 3개(삼항)는 가능한 피하는 편이 좋다. 4개 이상(다항)은 특별한 이유가 필요하다. 특별한 이유가 있어도 사용하면 안 된다. (p.50)
- 플래그 인수는 추하다. 함수로 부울 값을 넘기는 관례는 정말로 끔찍하다. 왜냐고? 함수가 한꺼번에 여러 가지를 처리한다고 대놓고 공표하는 셈이니까! (p.52)
- 오류 코드 대신 예외를 사용하면 오류 처리 코드가 원래 코드에서 분리되므로 코드가 깔끔해진다. (p.58)
- try/catch 블록은 원래 추하다. 코드 구조에 혼란을 일으키며, 정상 동작과 오류 처리 동작을 뒤섞는다. 그러므로 try/catch 블록을 별도 함수로 뽑아내는 편이 좋다. (p.58)
- 중복은 소프트웨어에서 모든 악의 근원이다. (p.60)
- 함수는 return문이 하나여야 한다는 말이다. 루프 안에서 break나 continue를 사용해선 안 되며 goto는 절대로, 절대로 안 된다. (p.61)
- 함수는 그 언어에서 동사며, 클래스는 명사다. (p.62)
오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요.
- 함수는 무조건 한 가지만을 해야한다는 조언을 보고 앞으로는 짧고 간단하고 쉽게 한 가지 기능만을 하는 함수를 짜도록 연습을 많이 해야겠다는 생각이 들었다.
- 대학교 과제를 제출할 때, 기능을 구현하는데만 급급하여 중복이 많고 복잡한 코드를 제출한 적이 있다. 물론 지금 그 코드를 다시 본다면 전혀 이해하지 못할 것이다. 중복없이 깔끔한 코드를 짜기 위해선 이해력과 지식이 필요하다. 앞으로 깔끔한 코드를 짜기 위해 공부를 소홀히하지 말아야겠다.
궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.
- SRP(Single Responsibility Principle) - 단일 책임 원칙, 모든 클래스는 하나의 책임만 가지며 클래스는 그 책임을 완전히 캡슐화해야 함을 일컫는다.
- OCP(Open Closed Principle) - 개방 폐쇄 원칙, 소프트웨어 객체(클래스, 모듈, 함수 등등)는 확장에 대해 열려 있어야 하며 수정에 대해서는 닫혀있어야 한다.
- 추상 팩토리(Abstract Factory) - 구체적인 클래스에 의존하지 않고 서로 연관되거나 의존적인 객체들의 조합을 만드는 인터페이스를 제공하는 패턴
반응형
'책 리뷰 > 클린코드(노개북 2기)' 카테고리의 다른 글
클린 코드 - 5장 형식 맞추기 (0) | 2022.02.28 |
---|---|
클린코드 - 4장. 주석 (0) | 2022.02.25 |
클린코드 - 2장 의미 있는 이름 (0) | 2022.02.20 |
클린코드 - 1장 깨끗한 코드 (0) | 2022.02.19 |
1일차_책 구매 인증 (0) | 2022.02.18 |
Comments