nav***
2025-03-28

이번에 읽은 책은 《자바 코드의 품질을 높이는 100가지 방법》입니다.
(타기르 발라예프 지음, 정병열 옮김, 한빛미디어, 2025)
"한빛미디어 서평단 <나는리뷰어다> 활동을 위해서 책을 협찬받아 작성된 서평입니다."

살다 보면 실수를 피할 수 없습니다. 어쩔 때에는 하루에 여러 번 할 때도 있고, 본의 아니게 남에게 피해를 주는 일도 발생합니다. 개발도 마찬가지라고 생각합니다. 사소한 실수부터 치명적인 실수까지 다양한 실수를 경험하게 됩니다.
《자바 코드의 품질을 높이는 100가지 방법》은 자바 개발자라면 한 번쯤 경험했을 실수와 그 해결책을 총망라한 책입니다. 저자인 타기르 발레예프는 젯브레인(JetBrains)의 기술 리더이자 자바 챔피언으로, IDE로 많이 사용하는 IntelliJ IDEA의 정적 분석 도구에 많은 코드 검사 기능을 설계하고 개발했습니다.
소개
이 책은 10개의 장과 2개의 부록으로 구성되어 있습니다.
1장에서는 코드 품질 관리와 버그 예방 기법을 다루고, 이후 각 장에서는 특정 카테고리별로 실수를 분류해 설명합니다. 2장에서는 연산자 우선순위나 가변 인자 메서드 호출과 같은 표현식 관련 실수를, 3장에서는 for 루프나 클래스 구조에 관련된 프로그램 구조 문제를 다룹니다. 4장은 숫자 처리 시 발생하는 오버플로 같은 문제를, 5장은 NullPointerException이나 ClassCastException과 같은 흔한 예외 상황을 다룹니다. 6장부터는 문자열 처리, 객체 비교, 컬렉션과 맵, 라이브러리 메서드 사용, 단위 테스트까지 폭넓게 자바를 코딩하면서 생길 수 있는 실수를 소개합니다.

장점
✅ 코드로 실수를 알아보고 발생 원인과 해결 방법을 명확하게 제시합니다.
✅ 짜임새 있고 이해하기 쉬운 구성입니다.
✅ 정적 분석 도구 활용으로 코드 품질을 체계적으로 개선할 수 있습니다.
✅ 다양한 환경과 경로에서 발생할 수 있는 문제를 미리 대비할 수 있습니다.


대상 독자
책은 난이도가 다소 높으며, 자바를 기초 문법과 활용에 대해 중급 개발자에게 유용해 보입니다. 자바 언어 기초를 안다는 전제하에는 학생이나 초급 개발자도 미리 실수를 예방하는 방법을 배울 수 있어 도움이 될 것 같습니다.
✔️ 실무에서 자주 마주치는 문제들의 해결책을 찾고자 개발자
✔️ 미리 실수를 예방하는 방법을 배우고자 하는 학생이나 개발자
✔️ 코드 품질과 버그 없는 프로그램 작성에 관심 있는 모든 자바 개발자
모든 소프트웨어 개발자는 코드에 버그를 남긴다.
버그로부터 완전히 벗어나는 방법은 없다.
《자바 코드의 품질을 높이는 100가지 방법》, p.30
개발하다 보면 사소한 오타부터 시작하여 괄호를 빼먹거나, 잘못된 변수 사용, 널 참조 오류(Null Pointer Exception)와 같은 다양한 실수를 만나게 됩니다. 자바는 최근의 24 버전까지 지속적인 개선으로 편하게 많은 기능을 포용할 수 있게 되었지만, 덕분에 많은 함정이 개발자들을 기다리고 있습니다. 책을 통해 IDE에서 지원하는 정적 분석 도구를 적극 활용하는 방법을 배움으로써, 버그를 예방하는 습관을 들이는 데 유용할 것이라 생각합니다.
책에서 좋았던 점을 뽑는다면, 실수를 방지할 수 있는 가이드를 알려준 부분입니다. 그 밖에도 책의 내용을 다양하게 실무에 적용할 수 있는 부분이었습니다. 정적 분석 도구 설정 방법, 원치 않는 경고를 줄이는 방법, 코드를 분석기가 재구성하는 방법 등은 당장 프로젝트에 적용할 수 있는 팁들로 가득했습니다.
책은 순서대로 한 번에 읽어도 좋고, 필요한 부분만 발췌해서 읽을 수 있도록 구성되어 있습니다. 아쉬웠던 점은 100가지 실수를 400페이지 내외의 분량으로 다루기 때문에 어떤 실수에 대해서는 나열하는 듯한 느낌이 들었습니다. 50가지 정도로 실수를 줄여 좀 더 밀도 있게 다뤘으면 좋겠다는 생각이 들었습니다.
이 책과 함께라면 저자의 말대로 '앞길에 존재하는 함정을 미리 아는 것만으로도 함정을 피할 준비가 되었다'라고 생각합니다. 자바를 사용하는 모든 개발자, 특히 코드 품질과 버그 없는 프로그램 작성에 관심 있는 분들에게 추천하고 싶습니다.