독서
켄트 벡의 Tidy First? - 5월 12일
sam-ss
2024. 5. 13. 04:06
이책을 선택한 이유
개발자들 사이에서 유명한 켄트벡님이 저자이기도 하고 지인이 추천해줘서 읽었다.
간단 설명
프로그래밍을 할때 코드를 깨끗하게 쓰는 방법을 알려준다. 당연한 얘기를 하고있지만 생각없이 코딩하면 놓칠만한 부분도 있었다.
책을 읽으며 든 생각은
- 귀찮다고 그냥 넘어갔던 것들도 코딩할때 다시 한번 생각해 보자.
정리
코드 정리법
- 보호구문
- 가독성을 위해 중첩된 조건을 풀어줘라.
if(조건) {
if(조건) {
...
}
}
->
if(조건 부정) {}
if(다른 조건) {}
코드 ..
- 안쓰는 코드 → 지워라.
- 대칭으로 맞추기
- 코드 작성시 한가지 패턴을 사용하라
- 새로운 인터페이스로 기존 루틴 부르기
- 기존 인터페이스 때문에 어렵거나, 복잡하거나, 혼란스럽거나, 지루하면
- 새롭게 인터페이스 만들어서 호출하라
- 읽는 순서
- 읽기 좋은 순서로 정렬해라
- 응집도 높이는 배치
- 두 루틴에 결함도가 있으면 서로 옆에 두라.
- 결합도를 제거 하는것더 최고지만… 제거가 안될 경우가 있다.
- 선언과 초기화 함께 옮기기
- 타입의 선언과 초기화가 떨어져있으면 읽어내기 어렵다.
- 초기화는 변수 선언 근처에 해라
- 설명하는 변수
- 표현식의 의도가 드러나도록 변수 이름을 만들어 할당
return new Point(
.. 긴 표현식.. ,
.. 다른 긴 표현식 ..
)
->
x = .. 긴 표현식
y = .. 다른 긴 표현식
return new Point(x,y)
- 설명하는 상수
if response.code == 404
.. 코드
->
PAGE_NOT_FOUND = 404
if response.code == PAGE_NOT_FOUND
.. 코드
- 명시적인 매개변수
- 데이터가 명시적으로 전달되지 않을때는
- 앞부분에 매개변수 값을 채운 후, 뒷부분에 명시적으로 전달.
- 비슷한 코드끼리
- 긴 코드를 읽다가 구분이 되는 코드는
- 구분되는 곳에 빈 줄을 넣어서 나눠라
- 도우미(helper) 추출
- 목적이 분명하고 나머지 코드와 상호작용이 적은 코드를 만나면
- 코드 블록을 추려내고 helper 클래스를 만든다.
- 하나의 더미
- 코드를 만드는데, 가장 큰 비용이 들어가는 일은 코드 작성이 아닌 읽고 이해하는 비용이다.
- 여래 개의 작은 조각으로 나눠진 코드는 하나의 더미로 만들어 모아서 정리하라.
- 설명하는 주석
- 미리 알았더라면 좋았을 점 등 읽을 사람을 배려해서 주석을 작성해라.
- 불필요한 주석 지우기
- 코드만으로 내용을 이해할 수 있다면 주석은 삭제해라