본문 바로가기
도서/나는리뷰어다2025

책 리뷰 | 자바 코드의 품질을 높이는 100가지 방법

by 의정부핵꿀밤 2025. 3. 16.
728x90

"한빛미디어 서평단 <나는리뷰어다> 활동을 위해서 책을 협찬 받아 작성된 서평입니다."


✏️ 한줄평

 

자바 개발자 선배님의 100가지 오답노트 훔쳐보기! 😋


 

📙 전반적인 책 내용 설명

 

이 책은 다양한 버그의 원인 중에서도 개발자와 기계 간의 의사소통 오류로 인해 발생하는 실수를 다룬다.

개발자가 문제를 올바르게 이해했음에도 불구하고, 코드 작성 과정에서 실수를 저질러 기계가 이를 제대로 실행하지 못하는 경우를 중심으로 설명한다.

책에서는 자바 개발자들이 흔히 저지르는 실수를 유형별로 정리하고, 실수가 포함된 예제 코드와 함께 그 원인을 분석하며, 이에 따른 “실수 방지 가이드”를 제시한다.

 

각 실수 유형은 독립적이므로, 특정 개념이 필요할 때 해당 부분만 골라 읽어도 무방하다.

또한, 최신 자바 21 기준이라는 꽤나 트렌디한 자바로 내용을 구성하고 있으며, 실제 오픈소스 프로젝트에서 발견된 사례나 예시 코드를 기반으로 설명한다.

 

 

특히, 저자는 정적 분석 도구의 활용을 강조하며, 이를 통해 사소한 실수를 조기에 발견하고 코드 품질을 높이는 방법을 제안한다.

정말 개념적으로 깊이 알고 복잡한 문제들이 아니라 흔히 발생할 수 있는 실수들을 오답노트처럼 정리해둔 책이다.

(그래서인지 원서의 이름을 직독직해하면 100가지 자바 실수와 이를 피하는 방법 이다)

 

 

 

🧐 일부 내용 엿보기

저자가 말한대로 책의 모든 실수를 지금 당장 읽을 필요없이 내가 해당 개념을 사용할 일이 있는 경우 골라보는게 좋다고 했으니, 나도 지금 사용하는 내용인 1장 코드 품질 관리5장 일반적인 예외를 읽어봤다.

 

확실히 어렵거나 고차원적인 개념을 다루지 않는다.

그러나 정말 누구나 개념과 기능을 완벽히 인지하고 쓰지 않는 이상 일으킬 수 있는 실수들에 대해 설명하고 있어 공감이 가면서도 아차! 싶은 경우들도 많았다.

 

 

 

예를 들자면 실수 12번에서는 새로 생성한 객체를 사용하지 않는 경우를 다루고 있었다.

void process(int value) {
	if (value < 0) {
		new IllegalArgumentException("Value is negative")
	}
}

 

  • 여기서 다루는 객체는 사용자 정의 객체 뿐만 아니라 예외 객체도 해당한다.
  • 위처럼 예외 객체를 생성하기만 하고 던지지는 않으므로 value < 0 인 경우에도 유효성 검사를 통과하고 메서드가 계속 실행된다.
  • 이 때 정적 분석기를 사용하면 생성된 이후 버려진 예외 객체를 보고한다.
    • 인텔리제이에서는 Throwable Not Thrown 검사에서 이 사례를 보고한다.

 

책은 이처럼 단순한 실수라도 실제 개발 과정에서 쉽게 놓칠 수 있는 부분을 지적하며, 이를 방지하는 방법을 실용적으로 제시한다.

 

그리고 읽다보면 저자가 반복적으로 강조하는 내용이 보이는데, 이는 실수는 해도 괜찮지만 최대한 빨리 발견하자! 이다

이러한 관점에서, 책은 컴파일 단계에서 감지되는 오류보다는 실행 도중 발견될 수 있는 문제를 중심으로 다룬다

 

또한 프로덕션 환경에서 치명적인 버그로 이어지기 전에 이를 방지하는 방법을 설명한다. 이를 위해 저자는 정적 분석 도구의 활용을 적극 권장한다.

 

책에서 다양한 실수들을 소개하지만 이에 대해 개발자의 잘못으로 몰아가는 것이 아닌 충분히 그럴 수 있고 실수를 저질러도 되지만 빨리 발견할 수 있도록 코드를 작성하자 라는 저자의 마음이 느껴진다

 

그래서인지 나(MBTI가 F인 개발자)로 하여금 나름 감동?적이고 따수운 개발책이었다ㅎㅎ

 

 

 

🍀 총평

 

개발을 하다보면 내가 어떤 오류를 맞닥뜨릴지도 모르고, 내가 실수를 저지르고 있다 한들 그게 잘못된 것인지 조차 인지하지 못하는 경우가 많다.

이럴 때마다 학창시절처럼 개발에도 오답노트나 족보가 있었으면 좋겠다는 생각을 막연히 하곤 했다.

이 책은 나와 같은 생각을 한번이라도 해본 자바 개발자들에게 추천하고 싶다.

 

탄탄한 개념서나 바이블처럼 꼭 읽어봐야하는 자바 필수 도서 는 아니더라도 언제나 나도 모르게 저지를 수 있는 실수들에 대해 경각심을 일으켜준다.

 

또한 나의 실수에 대해 분노를 느끼는게 아닌 프로덕션으로 내보내기 전 빨리 발견하다니, 완전 럭키비키잖아?! 🍀 라는 긍정적인 마인드로 실수를 해결할 수 있다!

 

나와 같이 주니어에서 중니어로 거듭나기를 기대하고 있는 개발자들이라면 한번 쯤 읽어보기 좋은 자바 오답노트로 추천한다!

728x90

댓글