'좋은 코드, 나쁜코드' 책을 펴자마자 뜨끔한 곳이 있었다.
'코드는 이미 존재하는 기능을 종복 구현해서는 안 된다.' 오늘도 Copy And Paste 했던 내 자신을 생각하니 갑자기 뜨끔했다.
좋은 코드란 무엇이고 나쁜 코드란 무엇일까? 그걸 나누는 기준은 무엇일까?
책에서는 코드 작성에 있어서 코드의 품질을 높이기 위한 여러가지 이야기들과 좋은 방식과 덜 좋은 방식등에 대해서 설명하고 있다. 그래서 한번 읽어보기로 했다.
코드를 짤 때 추상화를 잘해야 한다고 이야기한다. 책에서는 2장에서 다루는 내용이다. 추상화를 잘하는것은 그만큼 재사용성을 높여주기도 하고 가독성을 높여주기도 한다.
4장에서는 오류에 대한 이야기가 나온다.
- NULL로 던질 것인지.
- Null Safe하게 전달 할 것인지.
- Collections.emptyList()와 같이 빈 배열을 줄 것인지
- Optional.empty() 등으로 던질 것인지.
- 별도의 Exception을 전달할 것인지
다양한 방법이 있고, 그 방법들에 대해서 설명을 잘 해주고 있다. 사실 정답은 없다고 생각한다. 그저 팀의 컨벤션을 따라가는 경우가 더 많지 않을까 하는 생각이 든다.
5장에 들어서니 명칭에 대한 이야기가 나온다. 명칭을 정하는것만으로 20-30분을 고민한 적이 있었다. 그래도 답이 나오지 않아 팀원분들에게 후보를 전달드리고 투표를 요청했던 적이 있을 정도로 명칭 정하는것은 어렵다. 직관적인 명칭을 정학고 싶었기 때문이다. 5장에서 관련된 내용을 보니 너무 와닿기도 하고... 조금 더 잘 사용하는 방법들도 배울 수 있어서 좋았다.
책을 읽다보니 부분적으로 Effective Java 3판과 유사한 내용들이 많이 나오는 것 같기도 하다는 생각도 들었다. 여러 책에서 말하고 있는 내용이 비슷하기 때문에 그렇게 느낀게 아닐까 라는 생각을 하는 한편. 그렇게 여러 책에서 이야기 할 정도면 한번 읽어보고 본인의 코드에 적용해보는 것도 도움이 많이 되지 않을까 라는 생각도 들었다.
그래서 책을 한 번 다 읽고나서 내 코드를 보았는데 칭찬할 부분도 있고, 부족한 부분도 있다는 것을 느낄 수 있었다.
좋은 코드, 나쁜 코드 라는 책을 내가 짜온 역사처럼느껴지는 내 코드를 다시 한번 돌아보게 한다. 내용이 어렵지도 않고 문학을 읽듯이 읽을 수 있는 장점도 있다.
개발을 하는 사람이라면 읽어보면 좋은 책인 것 같다.
<해당 리뷰는 JPub으로부터 도서를 지원받아 작성되었습니다.>
'리뷰 > 도서' 카테고리의 다른 글
[리뷰] Concurrent Programming(동시성 프로그래밍) - O'REILLY (0) | 2022.09.29 |
---|---|
[리뷰] 미리보기SQL로 시작하는 데이터 분석 - 한빛미디어 (0) | 2022.08.23 |
[리뷰] 프로그래머의 뇌 - 제이펍 (0) | 2022.08.07 |
[리뷰] 클라우드 네이티브 애플리케이션 디자인 패턴 - O'REILLY (0) | 2022.07.24 |
[리뷰] 실무자를 위한 그래프 데이터 활용법 (0) | 2022.05.27 |
댓글