자바 개발자를 위한 97가지 제안 - 리뷰

2020. 12. 31. 08:59책읽기

10월부터 전문연구요원에 편입되여 현업에서 개발을 하다보니, 지금 개발하고 있는 방법이 정말 맞는방법인가? 하는 생각이 문득 들었습니다. 의문을 해결하기 위해 이런 저런 고민을 하다보니 자연스럽게 자바(안드로이드) 개발자로써 조금 더 거시적인 관점에서 프로그래밍을 바라보고 싶어졌습니다. 시야를 넓혀줄 책을 찾던 중, 마침 기회가 닿아 '자바 개발자를 위한 97가지 제안' 책을 리뷰하게 되었습니다.

전문서 리뷰어로 선정해 주신 제이펍 관계자분들께 이 자리를 빌려 감사의 말씀을 드립니다.

 

<자바 개발자를 위한 97가지 제안> 책은 주니어 개발자인 저에게 있어

  • 시간이 없다는 핑계로 애써 외면해 왔던 것들(TDD, 지속적 통합, 함수형 프로그래밍 등)에 대한 중요성을 다시금 확인
  • 내가 공부해나가는 방향이 맞는지에 대한 의문 해결
  • 물어보기 애매했던, 혹은 모르는지도 몰랐던 부분에 대한 의문 해결
  • (모르는 내용이 나오더라도) 어떤 것을 공부해야 하는지에 대한 이정표 제공

을 도와주는 책이었습니다. 책의 특성상 2, 3 페이지 만에 한 가지 주제가 끝나기 때문에 명확하게 답이 나오지 않는 경우도 무릇 있었지만, 주제를 던져서 찾아보고 고민할 수 있게끔 만들어준다는 것이 이 책의 장점이라고 생각합니다.

특히 자바 개발자들 사이에서 주제들이 '의미 있게' 다뤄지는지 엿볼 수 있는 기회가 되었습니다. 주변에 이런 이야기를 나눌 개발자가 없는 분들에게 특히 추천드리고 싶은 책입니다. TDD, 지속적 통합, 코딩스타일, 사고방식, 마음가짐, 코틀린 과 같은 주제들이 다루어지고 있습니다.

그중에서 재미있게 읽었던 몇 가지를 소개해보려 합니다.

 

30. 이름짓기를 잘하자

이름을 지을 때 단어를 최대 4개 사용하고(id나 문제 도메인에 적용된 것을 제외하고) 약어는 사용하지 말자. 한 단어만으로 충분한 경우는 드물다. 네 단어 이상 사용하는것은 어설프며 더는 의미를 부여하지 않는다.

→ 단어의 개수를 4개라고 명확하게 말해준다는 점이 신선했습니다.

클래스와 객체 이름을 혼합하지 말자. 날짜 필드인 dateCreated는 created로 바꾸고 Boolean 타입의 필드 isValid는 valid로 바꾸자. 그러면 객체 이름에 타입이 중복되는 상황을 방지할 수 있다.

→ 습관적으로 dateCreated, isValid라고 변수명을 작성해 왔는데, 제안한 방법이 더 좋을지 코드에 적용해보면서 느껴보려 합니다. 얼마 전에 google firestore에 boolean 값을 isValid로 가진 POJO 클래스를 올렸을 때 자동으로 valid로 변환되어 올라가 당황했던 경험이 있어서 valid 와 같이 짓는 게 더 좋은 방법인지 고민했었던 기억이 떠올랐습니다. 하지만 요즘 보고 있는 AWS Chime 코드에서는 아직까지 isValid 와 같은 변수명을 쓰는 걸로 봤을 때 무엇이 옳다!라고 할 수는 없는 것 같습니다.

 

46. 주석의 종류

주석이 자바독 주석(/** ... */), 블록 주석(/* ... */), 줄 단위 주석(//) 으로 나뉘는 건 알았지만, 실제로 어떻게 다른지, 어떻게 사용하는 게 좋은지 설명해 주었습니다.

스포일러 하자면, 결론은 다음과 같습니다.

  • 올바른 종류의 주석을 사용하자
  • 엉뚱한 방법으로 주석을 사용하지 말자
  • 코드가 볼썽사나우면 주석이라도 남기자!

 

59. Date라는 이름은 조금 더 명확해야 했다

최근 다대일 화상 통화가 포함된 강의 어플리케이션을 개발하고 있는데, 온라인 강의를 다루다 보니 자연스럽게 java.util.Date를 사용해보게 되었습니다. 이때 Data가 예상대로 작동하지 않아 당황스러웠던 기억이 다시 나서 재미있게 읽었습니다. 그리고 java를 만든 실력 있는 프로그래머도 이렇게 문제가 될 수 있는 코드를 작성한다는 점, 다시 한번 이름 짓기가 중요하다는 점을 상기하게 되었습니다.

 

내용과는 별개로, '57. 자바를 그루비스럽게'는 단편소설처럼 내용을 전개해서 재밌게 읽을 수 있었습니다. 그래서 그루비에 아무 관심도 없던 내게 그루비를 전도해버렸습니다 ㅎㅎ

어쩌다보니 사고방식이나 마음가짐에 대한 내용은 소개하지 못했는데, 28. 풀스택 엔지니어는 마음가짐이다, 40. 자바는 90년대생, 42. 자바는 재미있어야 한다 같은 장도 가볍게 읽기 좋았습니다.

코딩을 하다 막혔을 때 한 두장 정도 틈틈이 읽을만한 책을 찾는다면 추천드리고 싶습니다!