자바 코드의 품질을 높이는 100가지 방법
타기르 발레예프 지음, 정병열 옮김 / 한빛미디어 / 2025년 3월
평점 :
장바구니담기


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

이번 도서 후기는 책의 제목과 같이 자바 코드의 품질을 높이는 100가지 방법에 관한 이야기로,

대다수의 개발자들이 자주 일으킬 수 있는 100가지 실수들에 대한 내용을 담았다.

이 책의 출간 정보를 알고 부터 꼭 한번 읽어보려 했던 책이다.

늘 개발을 하면서 어떻게 하면 더 나은 코드를 작성할 수 있는지 고민한다.

내가 예전에 개발했던 코드들이나 여러 개발자분들이 작성한 코드를 볼 때 리팩토링 요소를 찾으면서 간혹 발견되는 여러 오류사항들이 있는데 내가 경험한 여러 오류 케이스와 함께 현재는 로직 상에 문제가 없지만 시간이 점차 흐르면서 발생할 수 있는 실수들에 관한 내용을 이 책에서 다룬다.

자바 코드를 작성할 때마다 발생할 수 있는 실수의 범주를 총 10가지로 나눈 내용으로 구성되어 있는데, 각 실수에 대한 예시 코드와 설명 그리고 이로 인해 예상되는 파급 효과들을 통해 잘못된 코드 사용으로 인해 발생할 수 있는 사례와 코드를 작성하면서 여러 정적 분석 도구를 통해서 이러한 실수를 감지하여 사전에 예방하는 방법도 다룬다.

1장에서는 코드 품질에 대한 관리 방법에 대한 개요를 다룬다.

코드 스타일과 정적 분석, 그리고 자동화된 테스트와 코드 어설션 등을 다루는 방법을 다루며 이로 인해 코드의 품질을 관리하는 방법을 익힐 수 있다.

2장에서는 표현식에서 발생할 수 있는 실수를 다루는데 숫자의 연산 순위에 대한 잘못된 이해로 발생할 수 있는 오류 사항들과 연산자들을 혼용하고 잘못된 가변 인수를 호출하는 방법과 잘못된 메소들르 참조하는 바인딩 등의 대한 잘못된 사용법으로 인한 여러 문제점을 다루며 이를 정확히 알도록 설명한다.

3장에서는 자바의 프로그램 구조에서 조건문과 반복문, 그리고 잘못된 초기화 순서와 정적 필드의 잘못된 선언들을 통해 프로그램 구조에서 잘못된 코드 사용법으로 인한 발생할 수 있는 문제점들을 다룬다.

4장에서는 숫자를 잘못 사용하는 방식을 다루는데, 개발자라면 한번쯤 접해보았을 수치에 대한 오버플로우와 타입변환과 확장으로 인한 정밀도 손실의 예를 통해서 숫자와 관련한 올바른 코드 작성법과 함께 정확한 이해를 돕고자 개념을 다룬다.

5장에서는 자바에서 흔히 일어날 수 있는 예외에 대한 내용을 다루고, 6장에서는 문자열 처리 과정에서 발생할 수 있는 문제를 다룬다.

char 값을 문자로 간주하거나 대소문자로 변환하고 로케일을 설정한 것과 아닌 것에 대한 차이 및 replaceAll와 indexOf() 메소드의 잘못 사용하는 여러 실수들로 인해 예상과 다른 결과를 얻을 수 있다는 점을 예시 코드를 통해서 알 수 있었다.

7장은 객체를 비교하는 방법을 다룬다. equals()와 hashCode(), 그리고 스케일이 다른 BigDecimal 간의 비교 방법과 동일한 객체를 비교할 때와 비교 메소드가 반환하는 NaN값에 대한 설명, compareTo() 메소드 사용 방식과 구현된 문제를 통해 올바른 객체 비교에 대한 코드 작성법을 익힐 수 있다.

8장은 컬렉션과 맵을 사용하면서 발생하는 13가지의 실수들을 다루는데 특히 8장은 자주 발생하는 실수들이라고 생각한다. 따라서 8장은 컬렉션과 맵에 대한 정확한 이해를 토대로 올바른 코드를 작성할 수 있도록 해야 함을 다시한번 생각했다.

9장은 일부 라이브러리의 메소드를 잘못 이해하고 사용하는 예와 10장은 유닛 테스트 코드를 작성할 때 발생하는 여러 실수들에 대해서 설명한다.

1장부터 10장의 총 100가지의 실수 사례에서 나의 실수 사례도 발견할 수 있었고, 이를 주의해서 작성해야 함을 다시 한번 생각하게 되었다.

뿐만 아니라 이러한 여러 실수 사례를 통해서 발생할 수 있는 결과 뿐만 아니라 이를 경험하고 해결하는 과정들이 얼마나 중요한지 다시한번 느꼈다.

특히 작성한 코드에 대해 정적 분석 도구를 통해 잘못된 코드들을 사전에 찾아서 개선하여 정확한 결과 뿐만 아니라 가독성과 유지보수가 좋은 코드를 작성할 수 있도록 해야함도 느꼈다.

이 책은 특히 내용을 정리하면서 읽었는데, 더 머릿 속에 남았고 여러번 리마인드해볼 수 있었던 점이 좋았다.

개발자라면 자신이 작성한 코드가 올바른 결과를 도출하고, 내가 작성한 코드를 보는 다른 개발자들이 코드를 읽기에 가독성이 좋을지, 내가 작성한 코드의 의도를 이해할 수 있을지, 그리고 유지보수가 좋을지에 대한 많은 고민을 하면서 코드를 작성할 것이다.

이러한 고민을 갖고 있는 개발자분들 뿐만 아니라 자바를 처음 배우는 분들에게 유익할 책이다.

어려울 수 있는 내용들도 있겠지만 이해하기에 쉽게 설명해주고 예시 코드도 포함되어 있기 때문에 자바 개발자 모든 분들에게 도움이 될 것이라고 생각한다.


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