코드 품질 개선 도구 활용하기

이종훈·2025년 7월 3일
2

개발 일지

목록 보기
17/21
post-thumbnail

코드 품질 개선 도구

ESLint, Prettier

코드 품질 개선 도구를 활용하여 오류 검사, 중복 코드 탐색, 포맷팅 등을 자동으로 구현할 수 있으며 대표적인 품질 개선 도구로 ESLint와 Prettier가 있습니다.

ESLint는 코드의 일관성을 유지하고, 코드 스타일 및 오류를 검사하며, 코드에서 발생할 수 있는 잠재적인 버그를 미리 찾아낼 수 있습니다.

Prettier는 코드 포맷팅 도구로, 코드 스타일을 자동으로 일관성 있게 포맷해주는 역할을 합니다. ESLint가 코드 품질을 체크하는 역할을 한다면, Prettier는 코드의 형식을 정리해주는 역할을 합니다.

Java에 적용할 수 있는 도구

하지만 ESLint와 Prettier는 JavaScript 및 TypeScript 파일을 대상으로 하는 도구들이기 때문에 Java 코드에서는 사용할 수 없습니다. Java에서는 코드 품질 검사와 코드 포맷팅을 위해 다음과 같은 도구들이 주로 사용됩니다.

1: Checkstyle
Checkstyle은 Java 코드의 스타일을 체크하는 도구로써, 들여쓰기, 공백, 변수 및 메서드 명명 규칙 등을 검사하며 코드 품질을 유지하고 일관된 스타일을 적용할 수 있도록 도와줍니다.

2: PMD
PMD는 Java 코드에서 불필요한 코드, 버그 및 성능 이슈를 찾아주는 도구로써, 특정 규칙을 정의하여 코드에서 발생할 수 있는 문제를 사전에 발견할 수 있습니다.

3: SpotBugs
SpotBugs는 Java 코드에서 버그를 찾아주는 도구로써, 이는 PMD와 유사하지만 버그를 더 집중적으로 찾아낼 수 있습니다.


적용

SpringBoot 프로젝트에 PMD를 적용하고자 하였습니다. 프로젝트 폴더의 build.gradle 파일에 해당 도구를 선언함으로서 프로젝트에 적용할 수 있습니다.

plugins {
	id 'java'
	id 'org.springframework.boot' version '3.4.5'
	id 'io.spring.dependency-management' version '1.1.7'
    id 'pmd'
}

1: 우선 가장 상단의 plugins 부분에 pmd 도구를 선언합니다.

pmd {
    toolVersion = '6.36.0'  // PMD 버전 설정
    ruleSets = []  // 기본 제공 규칙을 사용하지 않고, 커스터마이즈 가능
    ruleSetConfig = resources.text.fromFile('config/pmd/pmd-ruleset.xml')  // 커스터마이즈한 규칙 파일
}

pmdMain {
    ruleSetConfig = resources.text.fromFile('config/pmd/pmd-ruleset.xml')  // 커스터마이즈한 규칙 파일
    ignoreFailures = false
}

2: 그 후 pmd에 대한 설정을 구현합니다. 이때 default로 정의된 task를 그대로 사용하는 방법과, 따로 커스텀 task를 설정하여 도구의 자동 검사 범위를 변경하는 방법이 있습니다. 저는 pmd 도구를 처음 적용해봤기에 기존의 task를 그대로 적용해보기로 했습니다. 따라서 따로 task를 정의하지 않고 pmdMain이라는 default task를 호출하여 pmd 도구를 설정하였습니다.

이를 통해 프로젝트에 품질 개선 도구를 적용할 수 있습니다.

profile
종훈리의 개발일지

0개의 댓글