뛰어난 코드 분석을 제공하는 Qodana 기능

Qodana에는 에스컬레이션하기 전에 문제를 찾아 해결하는 데 필요한 모든 기능이 포함되어 있습니다. 개발자는 이러한 도구의 도움으로 IDE부터 CI까지 전 과정에서 정적 분석을 실행하여 코드 스멜, 중복, 코드 복잡성, 취약성, 라이선스 문제 등을 찾아 해결할 수 있으므로 완벽한 소프트웨어를 자신 있게 전달할 수 있습니다.

IDE 통합

해당 CI/CD 워크플로에 정적 코드 분석이 통합된 경우, 실제 문제를 해결하는 곳은 언제나 IDE입니다. JetBrains IDE의 기본 통합과 VS Code 확장 프로그램을 통해 Qodana가 서버 측 검사에서 발견된 문제에 대한 특정 피드백을 보내주므로 산만하게 컨텍스트를 바꾸지 않고 빠르게 문제를 해결할 수 있습니다. Qodana가 CI 측에서 모든 분석 작업을 수행하는 동안 사용자는 코딩 영역에 계속 머물 수 있습니다.

logo

IDE에 즉시 코드 분석 피드백 전달

브랜치에 변경 사항을 커밋하면 Qodana가 CI 측에서 백그라운드 검사를 수행하고 IDE에 문제 보고서를 자동으로 제출합니다. 버그, 중복된 코드, 코드 스멜, 호환되지 않는 종속성 및 보안 취약성에 대한 피드백이 자동으로 수신되므로 IDE를 나가지 않고도 전체 프로젝트 상태를 확인하고 플래그 표시된 문제를 즉시 수정할 수 있습니다.

IDE 내에서 CI 분석을 간편하게 설정 JetBrains IDE에만 사용 가능

선택된 CI 서버의 구성 파일을 JetBrains IDE에 사전 설치된 마법사로 만들 수 있습니다. Jenkins, GitHub Actions, TeamCity, GitLab CI/CD 등 대부분의 주요 CI 서버에 대한 헬퍼도 제공됩니다.

문제 위치로 바로 이동

또한, GitHub Actions 또는 Qodana Cloud 내에서 Qodana 보고서에 액세스하고 Open in IDE(IDE에서 열기) 버튼을 사용하여 문제가 발생한 코드 위치로 빠르게 이동할 수 있습니다.

심층적인 인사이트

문제를 상세하게 설명해 주므로 이를 통해 식별 및 파악하고 학습할 수 있습니다.

자주 하는 질문

로컬 실행으로 정적 분석 결과를 미리 볼 수 있습니다. 정적 분석을 시작하기는 어렵지 않습니다. Qodana를 처음 사용하는 경우, IDE에서 바로 첫 검사를 실행하고 로컬 검사 결과를 빠르게 확인할 수 있습니다.
물론입니다! Qodana는 Visual Studio Code와 통합되어 있으며, Visual Studio는 올해 지원되고, 다른 도구는 그 이후에 지원될 예정입니다.
Qodana를 시작하려면 JetBrains 계정이 있어야 하며, 몇 번의 클릭만으로 간단히 만들 수 있습니다. 또는, JetBrains의 CLI를 사용하여 Qodana를 로컬로 실행하거나 Qodana를 해당 CI의 빌드 단계로 설정할 수 있습니다.

CI/CD 통합

코드가 빌드를 손상시키거나 버그, 취약한 종속성 또는 호환되지 않는 라이선스를 포함하는 경우, 다른 변경 사항이 적용되기 전에 해당 문제를 즉시 확인하여 수정하고 다음 변경 사항으로 넘어가야 합니다. 그러지 않으면 메인 브랜치까지 문제가 전달되어 배포됩니다. Qodana는 CI 파이프라인에 통합되어 설정된 기준에 따라 프로덕션 라인을 중지하거나, 서버 측에서 감지된 문제를 간단히 경고할 수 있으므로 사용자와 해당 팀이 적시에 문제를 해결할 수 있습니다.

명확한 합격/불합격 품질 게이트

JetBrains의 자동화된 품질 게이트는 사전 정의된 벤치마크에 따라 코드를 분석하여 즉각적인 피드백을 제공하고 코드 내 특정 심각도의 문제 수가 한도를 초과하거나 코드 커버리지가 충분히 높지 못하면 파이프라인을 실패로 판정합니다.

CI 제약 없음

Jenkins, GitHub Actions, TeamCity, BitBucket, GitLab 등 사용하는 CI/CD 도구가 무엇이든 Docker를 지원하기만 하면, 해당 도구를 Qodana와 통합할 수 있습니다.

IDE에 서버 측 보고서 전달

변경 사항이 커밋되면 Qodana가 CI 측에서 백그라운드 검사를 수행하고 확인된 문제를 포함한 보고서를 IDE에 자동으로 제출합니다. 따라서 IDE를 나가지 않고도 프로젝트의 상태를 확인하고 즉시 플래그 표시된 문제를 해결할 수 있습니다.

구성 마법사 JetBrains IDE에만 사용 가능

선택된 CI 서버의 구성 파일을 JetBrains IDE에 사전 설치된 마법사로 만들 수 있습니다. 예를 들어, GitHub Actions에 대한 Add(추가) 버튼을 클릭하기만 하면 프로젝트에 워크플로 구성 파일이 생성됩니다. TeamCity, GitLab CI/CD, Jenkins 등의 다른 CI 서버에 대한 헬퍼도 제공됩니다.

빠른 수정

Qodana는 자동으로 해결할 수 있는 문제에 빠른 수정을 적용하고 적용된 변경 사항과 함께 새로운 풀 리퀘스트를 생성할 수 있습니다. 따라서 사용자는 커밋 전에 이러한 변경 사항을 검토할 수 있습니다.

Docker 이미지를 이용한 빠른 시작

Docker를 지원하는 모든 CI 도구로 가져와 실행할 수 있는 즉시 사용 가능한 Docker 이미지에는 Qodana linter가 포함되어 있습니다.

전체 팀을 위한 60일 평가판 받기

라이선스 감사

법적인 문제가 불거지기 전에 부적절한 소프트웨어 라이선스를 감지합니다. 소프트웨어 구성 분석의 일부로, Qodana는 프로젝트의 라이선스가 종속성의 라이선스와 일치하는지 면밀히 확인하는 라이선스 감사를 제공합니다. 라이선스 준수가 완벽하게 보장되므로 예상치 못한 상황과 법적 문제를 피할 수 있습니다.

연속 검사

Qodana는 프로젝트의 종속성을 검사하고 호환되지 않는 라이선스에 플래그를 표시합니다. 프로젝트에 새 라이브러리가 추가되거나 기존 라이브러리가 예상치 못하게 라이선스를 변경하면 Qodana가 알림을 제공합니다. 라이선스 감사 보고서는 Qodana 인터페이스 및 IDE의 별도 탭에 문제로 포함됩니다.

CI/CD 파이프라인에 라이선스 감사 통합

Qodana를 이용하면 모든 코드 변경 사항이 라이선스 규정을 준수하는지 철저하게 검사할 수 있습니다.

감사 기준 세부 조정

또한, 프로젝트에서 특정 종속성의 라이선스를 무시하고, 사용자 지정 종속성을 만들고, 특정 라이선스를 금지하거나 허용하여 라이선스 매트릭스를 재정의할 수 있습니다.

규정 준수 보고 간소화

Qodana는 이해 관계자, 감사자 및 법률 팀에 프로젝트 라이선스의 준수 여부를 보여주는 포괄적인 보고서를 생성합니다.

코드 커버리지

Qodana를 사용하면 모든 팀 프로젝트에서 코드 커버리지를 모니터링할 수 있으므로 중요 경로가 올바르게 테스트되도록 할 수 있습니다. 기존 및 새로운 코드에 원하는 커버리지 수준 임곗값을 지정하고 CI/CD 파이프라인에서 자동화된 검사를 통해 신뢰할 수 있는 코드베이스를 유지하세요.

기본적으로 IDE로 커버리지 보고서 가져오기

Qodana는 CI 측에서 코드 커버리지 검사를 실행한 후, 테스트 중에 실행되지 않은 줄, 메서드 또는 클래스를 시각적으로 표시합니다. JetBrains IDE 및 VS Code 지원과 기본적으로 통합되어 있으므로, 테스트를 다시 실행하지 않고도 IDE에서 바로 코드의 어느 부분이 포함되지 않았는지 확인할 수 있습니다.

코드 커버리지 수준에 따라 파이프라인을 실패로 판정

원하는 코드 커버리지 비율을 품질 게이트 기준으로 정의할 수 있습니다. 전체 코드 또는 새로운 코드 부분이 원하는 코드 커버리지 벤치마크(예: 50% 이상)를 충족하지 못하면 Qodana가 빌드를 실패로 판정합니다.

가장 인기 있는 코드 커버리지 도구 통합

Qodana는 IntelliJ IDEA Code Coverage Agent, JaCoCo, Jest, PhpUnit, coverlet.msbuild, Coverage.py, go test 등과 즉각적으로 통합됩니다.

프로젝트 간 코드 커버리지를 간략히 살펴보고 비교

Qodana는 전체 프로젝트에서 코드 커버리지가 어떻게 진행되고 있는지 보여줍니다.

빠른 수정

Qodana는 발견된 특정 문제에 대한 해결 방법 제안과 함께 풀 리퀘스트를 자동으로 생성합니다. Qodana는 자동으로 해결할 수 있는 문제에 빠른 수정을 적용하여 변경 사항을 커밋하기 전에 검토할 수 있는 새 풀 리퀘스트를 생성합니다.

유연한 전략

Qodana linter는 CLEANUP 및 APPLY 전략을 모두 지원하므로, 수정 사항을 유연하게 적용할 수 있습니다.

CLEANUP

프로젝트 로직을 그대로 유지하면서 안전하고 사소한 수정을 자동으로 구현하므로 위험 없는 코드 정리에 적합합니다.

APPLY

식별된 모든 문제를 해결하려고 시도하면 많은 변경이 발생하므로 신중한 검토가 필요합니다. 이 전략은 코드를 광범위하게 검토할 준비가 되었을 때 적합합니다.

대시보드

Qodana에는 풍부한 시각화 기능이 있어 코드를 포괄적으로 분석하고 즉각적인 조치가 필요한 부분을 확인할 수 있습니다.

시그니처 선버스트 다이어그램

선버스트 다이어그램에서는 프로젝트 상태를 한 눈에 파악할 수 있습니다. 직관적인 필터를 이용해 문제를 유형, 심각도 및 위치별로 분류할 수 있으므로 가장 심각한 문제를 우선적으로 빠르게 처리할 수 있습니다.

기록 개요

과거 검사 결과를 검토하여 코드 품질 개선의 진행 상황을 확인하세요.

사용자 지정/확장 기능

팀마다 코드 품질에 대한 요구 사항이 다르기 때문에 하나의 도구로 모든 요건을 충족할 수는 없습니다. 팀의 고유한 워크플로를 충족하기 위해 Qodana에서는 기본적인 통합 및 사전 정의된 검사 프로파일뿐만 아니라 풍부한 사용자 지정 기능도 제공합니다.

FlexInspect – 고유한 검사 만들기

Qodana를 확장하는 가장 간단한 방법은 프로젝트에 적용하려는 규칙에 대한 사용자 지정 코드 검사를 만들 수 있는 FlexInspect를 이용하는 것입니다. 새로운 .kts 파일을 프로젝트에 직접 추가하기만 하면 별도의 구성, 빌드 또는 추가 단계를 없앨 수 있어 프로세스가 효과적으로 간소화됩니다.

자세히 알아보기

기존 플러그인을 사용하거나 자체 플러그인 생성

저장소에서 제공하는 플러그인을 사용하거나 고유한 플러그인을 만들 수 있습니다. 후자의 경우 플러그인 개발 가이드를 참조하여 도움을 받으세요.

구조 검색 패턴 사용

구조 검색은 JetBrains IDE에 내장된 강력하고 유연한 메커니즘입니다. 여기에 제공되는 검색 템플릿을 사용하면 의미를 고려하여 코드베이스를 검사할 수 있습니다. 고유한 검색 템플릿을 만들어 Qodana 검사로 사용할 수도 있습니다.

자세히 알아보기

베이스라인

덜 중요한 문제를 베이스라인으로 옮기거나, 감지된 모든 문제를 간단히 옮겨 해당 문제에 대한 알림 수신을 차단하세요. 그러면 팀이 가장 중요한 문제에 집중할 수 있습니다.

코드 상태 비교

시간 경과에 따른 코드베이스 문제의 변화를 쉽게 파악하고 새로운 문제, 해결된 문제 및 변경되지 않은 문제를 확인하세요.

코드 품질 표준을 점진적으로 적용

첫 실행에서 Qodana는 코드베이스에 있는 다양한 문제를 찾아냅니다. 이때 다른 작업을 일시 중지하고 모든 문제를 즉시 확인하는 대신 해당 문제를 베이스라인에 추가할 수 있습니다. 부담감에 시달릴 필요 없이 새 코드에 깨끗한 코드 방식을 적용하는 데에만 집중하세요.

전체 팀을 위한 60일 평가판 받기