Notice
Recent Posts
Recent Comments
Link
오르막길
[CleanCode] 4~5일차 - 3장 TIL 본문
3장
함수
책에서 기억하고 싶은 내용
- 의도를 분명히 표현하는 함수를 어떻게 구현할 수 있을까?
- 함수 크기는 작게, 더작게
- 함수는 한가지만 잘해야 한다 (다른 의미있는 이름으로 추출할 수 있다면 여러개)
- 내려가기 규칙 - 위에서 아래로 읽히는
- 서술적인 이름 - 길어도 좋으니 일관성있게
- 부수적인 효과를 일으키지 않도록
- 명령과 조회를 분리
- 오류코드보다는 예외를 사용하기 (그렇지만 try-catch 보다는 해당 블록을 함수로 뽑도록)
- 오류처리도 한가지씩 => try로 시작했다면 catch/finally로 끝내도록
- 중복을 없앤다
- 함수를 어떻게 짜지?
- 서투른 코드를 짠다
- 다듬고, 함수를 만들고, 이름을 바꾸고, 중복을 제거한다.
- 메서드를 줄이고 순서를 바꾸고 클래스를 쪼갠다.
- 단위테스트를 항상 통과한다.
- 진짜 목표는 시스템이라는 이야기를 풀어가는데에 있다.
작성한 함수가 분명하고 정확한 언어로 깔끔하게 맞아 떨어져야 이야기를 풀기 쉽다.
오늘 읽은 소감
감이오는듯 안오는듯 하나하나 차근차근 진행해봐야 알 것 같다.
내 서투른 코드를 하나씩 고민해보며 다듬는 것 부터 시작해서
읽기 쉬운 이야기가 될 수 있도록 노력할 것이다.
궁금하거나 더 공부해야할 내용
TO문단 : TO 키워드는 LOGO 언어에서 함수를 정의할 때 사용되는 것으로, 다른 언어에서 함수를 정의할 때 사용하는 키워드와 비슷한 역할을 합니다. 예를 들어, 파이썬에서는 함수를 정의할 때 def 키워드를 사용하고, 루비에서도 def를 사용합니다. LOGO에서는 TO로 시작하여 함수의 이름과 매개변수를 명시하고, 함수가 수행할 명령들을 정의합니다.
SRP single responsibility principle : 객체는 단 하나의 책임만을 가져야 한다
OCP open closed principle : 소프트웨어 엔티티(클래스, 모듈, 함수 등)는 확장에는 열려 있어야 하고, 수정에는 닫혀 있어야 한다
'학습 기록하기 > 클린코드 챌린지' 카테고리의 다른 글
[CleanCode] 9일차 - 6장 TIL (1) | 2024.09.01 |
---|---|
[CleanCode] 6~7일차 - 4장 TIL (4) | 2024.08.29 |
[CleanCode] 3일차 - 2장 TIL (0) | 2024.08.25 |
[CleanCode] 2일차 - 추천사 ~ 1장 TIL (0) | 2024.08.24 |
[CleanCode] 1일차 - 책 구매 인증 (0) | 2024.08.23 |