자바 코딩의 기술 - 현장에서 뽑은 70가지 예제로 배우는 코드 잘 짜는 법
사이먼 하러.요르그 레너드.리누스 디에츠 지음, 심지현 옮김 / 길벗 / 2020년 7월
평점 :
장바구니담기


한 번만 읽을 게 아니라 여러 번 읽으면서 체화시켜야 하는 책

리팩토링, 클린코드에 대해 관심이 있다면 두고두고 읽어야하는 책

자주 쓰이는 70가지의 예제를 통해 '똑똑하게 코딩하는 법'을 배울 수 있는 책


이 책의 설명 방식

  1. 코드 조각을 제시한 후 무엇이 왜 잘못되었는지 설명합니다.
  2. 코드를 더 나은 해법으로 어떻게 바꾸는지 보여줍니다.
  • 이 책은 '화성 탐사 작전'과 관련된 우주에 대한 내용을 담고 있습니다. 코드의 설정이 흐트러지는 것을 막아 코드 내 문제 해결에 집중을 하도록 하기 위함이라고 합니다.
  • 코드 중에 바뀔 부분과 바뀐 부분을 볼드체로 처리하여 변경 내용을 쉽게 확인할 수 있습니다.

 

개인적인 생각으로는 자바를 막 배우고 난 상태일 때 이 책을 읽었으면 딱 좋았을 것 같다고 생각했습니다.리팩토링 수업 같은 경우에는 코드에 대해 고민할 일이 많았습니다. 이 코드는 이렇게 바꿀 수도 있고 저렇게 바꿀 수도 있는데, 왜 이렇게 하는 것보다 저렇게 하는 게 더 효율적인 방법이라는 거지? 이런 식의 고민 말입니다. 이 책이 고민을 하지 않게 만든다는 건 아닙니다. 이 책은 안내서처럼, 어떻게 해답을 도출해내야 하는지 친절하게 독자를 이끌어줍니다. 이 부분을 어떤 맥락에서 이렇게 만들었고, 이게 다른 코드보다 어떤 부분이 나은지, 아니면 경우에 따라 어떤 기준으로 판단하는지도 알려줍니다. 제가 읽었던 한 전공 서적과 같은 경우에는 왜 그런지 생각해보라고 질문만 던지고 (솔루션도 없고) 사라졌었는데, 이 책과 같은 경우에는 친구처럼 같이 고민하고 알아내는 기분이라 읽기 더 편했습니다.

 

 

인상 깊었던 점

  • 깃허브 예제 소스를 제공한다.
    • 기술 블로그를 하는 사람들은 공부하면서 TIL에 올릴 때 유용할 것 같습니다.
  • 메소드명이나 변수명 등으로 화성 탐사 작전과 관련된 단어가 꽤 나온다.
    • 모르는 게 나와서 자바 관련인가 하고 찾아보면 화성 관련 단어였습니다.
    • ex. hull.isIntact(), shouldAbortTakeOff
    • 검색해서 무슨 뜻인지만 알면 내용을 이해하는데는 불편함 없었습니다.
    • 오히려 책에 쓰여있듯이 cat, dog 같은 거면 매번 이해하기 더 번거로웠을 것 같습니다.
  • 말투가 세련됐다.
    • 쭉 읽었을 때 이해하기도 편하고, 다시 여러 번 돌아가서 읽지 않아도 됐습니다.
    • ex. 최적화할 여지가 아직 남았습니다. 예를 들어 두 번째 조건의 양 분기에서 grantAccess()를 동일한 인수로 호출하고 있네요. 두 조건을 별개의 비공개(private) 메서드로 추출할 수 있습니다. 이렇게 하면 코드의 목적이 훨씬 더 명확해지죠. 
  • 주석이나 JavaDoc을 유용히 쓰는 방법을 자세하게 알려준다.
    • 주석은 최대한 쓰지 않는게 낫다고는 했지만, 오히려 이런 주석이면 쓰는게 오히려 좋을 것이라 생각하기도 했습니다.
    • 이게 JavaDoc이라는 명칭이 있었다는 걸 처음 알았습니다. 책을 읽고 나중에 한 번 써보고 싶어졌습니다.
  • 명명 관련 규칙을 정리해 놓았다.
    • 개인적으로 가장 쉬우면서도 어려운 것이 명명이라고 생각합니다. 이 책에서는 그 규칙들을 사전처럼 찾아볼 수 있도록 한 챕터를 할애했습니다.
  • 정적 코드 분석 도구, 팀 내 자바 포맷 통일, 빌드 자동화, 콘솔 출력 대신 로깅 등 (내가 몰랐던) 실전에서 쓰이는 것들을 알려준다.
    • 팀프로젝트나 협업을 할 때 팀원들과 이 내용을 공유하면 유용하게 쓰일 것 같습니다.

 

이런 분들에게 추천합니다!

  • 이 책이 추천합니다! 기업에서 신입 사원에게 프로그래밍을 가르치는 선임 개발자

이 책에 따르면 주니어 개발자를 훈련시킬 때 유용할 것이라고 합니다. 코드에서 문제를 발견하면 이 책에서 해당하는 절을 알려줘서, 수습사원 스스로 간단한 예제와 함께 문제 해법에 도달하는 방법을 읽도록 하면 시간을 아낄 수 있을 것이라며 추천했습니다.

  • 제가 추천합니다! 자바 관련 팀플을 해야하는 학부생들

이 책을 읽으면서 지난 학기에 했던 리팩토링이 잘못된 부분이 있었다는 걸 깨달았습니다. 수업 시간에 팀플을 해야하는 경우, 이 책을 교재 삼아 스터디를 진행하면 좋을 것 같다고 생각했습니다. 만약 제가 과거로 돌아가서 이 책을 알고 있었다면 반드시 했을 것이기 때문에 추천합니다. 참고로 이 리뷰는 길벗 출판사에서 서적을 제공받아 작성되었습니다.


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo