Qodana
The code quality platform for teams
Qodana 2022.2 출시, CircleCI Orb 및 50개 이상의 새로운 검사
Qodana 2022.2 버전이 출시되었습니다! Qodana 통합 도구 모음에 CircleCI Orb 및 Java, Kotlin, Android, PHP, JavaScript 및 Python용의 개선된 새로운 코드 검사가 추가되었습니다.
더 많은 CI에서 Qodana 실행
Qodana에는 이미 Azure Pipelines, GitHub Actions 및 TeamCity용 플러그인이 있습니다. 2022.2 버전부터 CircleCI Qodana Orb가 지원되므로 CircleCI 프로젝트에서 코드 검사를 빠르고 쉽게 설정할 수 있습니다.
또한 GitLab, Jenkins 또는 Docker 이미지 실행을 지원하는 기타 CI에서도 Qodana를 간편하게 설정할 수 있습니다.
디폴트 검사 프로파일을 사용자 지정하거나 완전히 새로운 프로파일을 생성하여 분석 시 특정 검사를 제외하거나 포함할 수 있습니다. 또한 코딩 가이드라인이나 모범 사례에 중요한 검사를 적용할 수도 있습니다. 자세한 정보는 Qodana 문서에서 확인하세요.
새로운 검사 기능
정규식
정규식은 복잡하고 매우 길 뿐 아니라 장황한 구문을 갖춘 것으로 알려져 있습니다. 정규식을 더 간편하게 사용할 수 있도록 신규 검사를 추가했습니다. 이전에는 Java에서만 지원되던 검사를 이제 모든 언어에 사용할 수 있습니다.
간소화된 정규식
[\wa-z\d]
와 같은 정규식의 경우, \w
에 이미 a-z
와 숫자가 포함되어 있으므로, \w
로 간소화할 수 있어, 이를 통해 가독성이 전반적으로 개선됩니다.
의심스러운 역참조
\1(abc)
와 같은 정규식은 일치하는 항목이 없습니다. \1
을 평가할 때 \1
에서 아직 정의되지 않은 abc
를 참조하기 때문입니다. 이 검사는 정규식의 단순 오타를 방지하고 편집 속도를 개선합니다.
불필요한 \d
, [:digit:]
또는 \D
클래스 요소
정규식 [\w+\d]
의 경우 \w
에 \d
가 이미 포함된 것이므로 [\w+]
로 작성할 수 있습니다. 이 검사는 코드의 전반적 가독성을 높이는 데 도움이 됩니다.
Markdown 지원
번호가 잘못 매겨진 목록 항목
1. 2. 4.
와 같은 순서가 있는 목록의 항목은 번호가 일관성 없게 매겨진 항목으로 표시됩니다. Markdown이 렌더링되면 목록은 계속 1. 2. 3.
으로 표시되지만 일관성이 없으므로 소스 코드를 편집하기 더욱 어렵습니다.
Java, Kotlin 및 Android 검사
Javadoc, DevKit, Markdown, Kotlin 언어, 스타일, 아키텍처 패턴, 성능 및 JUnit 지원 등 카테고리의 검사를 추가하고 개편했습니다. JUnit 세트의 몇 가지 예시는 다음과 같습니다.
JUnit: 잘못된 선언
JUnit 테스트 멤버 선언이 잘못되어 JUnit 테스트 프레임워크에서 인식할 수 없는 경우를 보고합니다. 잘못된 선언으로 인해 테스트 또는 수명 주기 메서드가 실행되지 않을 수 있습니다.
JUnit: 생성할 수 없는 TestCase
잘못된 생성자로 인해 생성할 수 없는 JUnit 테스트 케이스를 보고합니다. 이와 같은 테스트 케이스는 JUnit 테스트 러너에서 선택되지 않으므로 실행되지 않습니다.
그 예시는 공개 TeamCity 인스턴스에서 확인할 수 있습니다. 인스턴스를 살펴보려면 게스트 로그인을 사용하세요. 이 문서에서 다른 검사도 살펴볼 수 있습니다.
PHP 검사
잠재적 버그, 문서, 스타일, 테스트 및 Laravel 카테고리에 검사가 추가되었습니다. 예시는 다음과 같습니다.
잠재적 버그: 숫자 범위 불일치
returns int<0,10>
으로 선언된 함수에서 해당 범위 밖의 숫자를 반환하는 return 문을 표시합니다. 필드, 필드 생성자 및 함수 호출에 대해서도 마찬가지로 작동합니다.
문서: 변수 이름이 없는 타입 태그
PHPDoc 스니펫 @param string
은 무엇이 문자열인지 명시하지 않으므로 불필요합니다. 따라서 제거하거나 인수가 문자열임을 나타내는 @param string $argument
로 바꿔야 합니다.
Blade: 문자열 리터럴 내 짝이 없는 소괄호로 인한 분석 오류
템플릿 엔진 Blade에서 추후 분석되는 문자열 리터럴에 짝이 없는 소괄호가 있는 경우 이를 미리 발견합니다.
향후 블로그에 게시할 주제를 제안하거나 비즈니스에 Qodana를 활용할 방법을 알아보려면 이 게시물에 댓글을 남기거나, Twitter 또는 qodana-support@jetbrains.com으로 문의해 주세요.
Qodana 팀 드림
게시물 원문 작성자