Kotlin News Python

Qodana 소개: 즐겨 사용하는 CI를 위한 코드 품질 플랫폼

Read this post in other languages:
Français, 日本語, Deutsch, Português do Brasil, Español, 简体中文

프로젝트를 컴파일하거나 실행한 후 코드의 문제를 찾는 것은 개발자라면 누구나 경험한 적이 있을 것입니다. 스타일 오류와 같은 사소한 문제라면 긴급하게 해결할 필요는 없을 것입니다. 그러나 업무 진행에 영향을 미치고 개발 워크플로를 지연시킬 수 있는 중대한 버그가 발생한 경우라면 상황이 복잡해질 수 있습니다. 특히 개발자가 아주 많이 있는 개발 팀의 경우에는 상황이 더 복잡해질 수 있습니다. 그렇다면 더 늦기 전에 전체 프로젝트의 품질을 보장해야 합니다.

이를 쉽게 해결하는 방법을 소개해 드리겠습니다. 바로 Qodana입니다! Qodana는 품질 보장 프로세스를 간소화하고 프로젝트의 무결성을 보장하며 코드를 높은 수준으로 유지 관리할 수 있도록 도와주는 코드 품질 플랫폼입니다.

이 플랫폼은 선택한 CI/CD 파이프라인에 직접 품질 게이트를 설정하여 프로젝트의 코딩 문제를 발견하지 못하는 일 또는 개발 후반에 역효과를 일으키는 일이 생기지 않도록 해줍니다. Qodana를 사용하면 프로젝트뿐 아니라 품질 목표 및 이에 대한 진행 현황과 같은 프로젝트 품질의 모든 측면을 실시간으로 쉽게 파악할 수 있습니다.

QODANA 시작하기

Qodana에 위임할 수 있는 작업

Qodana에는 로컬 또는 모든 CI에서 프로젝트 분석을 제공하는 명령줄 도구(linters)가 포함되어 있습니다. 이를 통해 개발자는 프로젝트에서 코드 문제를 쉽게 확인할 수 있습니다. 또한 코드 품질을 개발 프로세스의 일부로 만들 수 있습니다. Qodana가 팀과 팀원들에게 어떤 도움을 줄 수 있는지 자세히 살펴보겠습니다.

  • 코드 문제를 조기에 포착합니다. 코드가 실제로 프로덕션까지 진행되기 전에 문제를 해결할 수 있습니다. 문제를 나중에 발견하게 되면, 수정하는 데 더 많은 비용이 듭니다.
  • 비정상적인 코드를 감지합니다. 프로젝트에 일반적이지 않은 방식으로 작성된 코드 조각은 프로젝트에 보안 위협을 초래할 수 있습니다.
  • 코드 검토를 자동화합니다. 사용되지 않는 가져오기, 중복, 맞춤법 오류 및 서식 지정 문제에 대한 검사를 비롯한 여러 검사를 자동화할 수 있으므로 피드백 루프에 소요되는 시간을 줄일 수 있습니다.
  • 불필요한 코드를 제거합니다. 관련이 없는 작업이 실행되는 것을 방지하여 프로그램 실행 시간을 줄입니다.
  • 규정 준수 위험을 줄입니다. Qodana의 라이선스 감사를 통해 프로젝트가 의존하는 종속성을 추적할 수 있습니다. 그러면 라이선스 요구 사항을 준수하는 데 도움이 될 수 있습니다.
  • 코드 구조를 개선합니다. 코드를 읽기 쉽고 관리하기 쉽게 유지하는 데 도움을 줍니다. Qodana를 사용하면 코드에서 들여쓰기, 명명 규칙, 줄 길이 제한 등의 일관성을 유지하도록 할 수 있습니다.
  • 코딩 모범 사례를 도입합니다. 프로젝트 또는 비즈니스 요구 사항에 따라 코드가 맞춤화된 코드 정책을 준수하도록 보장할 수 있습니다. 예를 들어, 특정 프로그래밍 스타일 가이드를 따를 수 있습니다.

주요 특징

프로젝트의 실시간 개요

분석을 실행하면 Qodana가 클릭 가능한 다양한 탭이 있는 선버스트 다이어그램으로 결과를 표시해 주므로 편리하게 드릴다운할 수 있습니다. 탭을 클릭할 때마다 차트 아래의 결과가 실시간으로 업데이트됩니다. 드릴다운 프로세스의 일부로 선버스트 다이어그램 옆에 있는 메뉴에서 필터를 설정하여 결과를 세부적으로 조정할 수도 있습니다. 다이어그램 내의 탭을 원하는 순서로 재정렬하고 나중에 사용할 수 있게 특정 필터 구성을 저장할 수도 있습니다.

조치 가능한 코드 문제

선버스트 다이어그램 아래의 Problems(문제) 탭에는 감지된 모든 문제 목록이 나열되며 심각도, 파일 이름, 경로, 카테고리 및 유형별로 이를 정렬하여 표시합니다. 발견된 특정 문제를 더 자세히 살펴보고 싶으면 해당 문제를 클릭하기만 하면 됩니다. 그러면 코드 조각이 확장되고 일부 컨텍스트가 표시됩니다.

여기에서 문제를 기술적 부채 목록으로 이동하거나(Move to Technical Debt(기술적 부채로 이동) 버튼) 또는 IDE에서 파일을 열 수 있습니다.

More actions(추가 작업) 드롭다운 메뉴를 사용하면 향후 분석으로부터 특정 경로, 파일 또는 전체 디렉터리를 제외하거나, 특정 유형 또는 카테고리 숨기기, 또는 코드 조각이 잘못 플래그 지정되었다고 생각되는 사례 보고와 같은 작업을 수행할 수 있습니다.

Problems(문제) 탭에서 Files(파일) 탭으로 전환하면 파일/폴더 구조에서 동일한 문제를 탐색할 수 있습니다.

JetBrains IDE와의 통합

IntelliJ IDEA Ultimate 및 PhpStorm에는 Qodana가 번들로 제공되므로 Qodana에서 코드 문제를 알려줄 때 IDE에서 바로 열어 빠르게 문제를 수정할 수 있습니다. 이렇게 하려면, 문제를 선택하고 Open file in(다음에서 파일 열기) 액션을 클릭합니다. Qodana를 다른 JetBrains IDE와 통합하려면 플러그인을 설치하세요.

라이선스 감사

코드에서 올바르지 않거나 부적절한 라이선스가 사용된 경우, 막대한 법률 및 컴플라이언스 벌금을 물어야 할 수 있습니다. Qodana를 사용하면 코드 저장소에서 종속성을 검사하여 라이선스를 검색하고 잠재적인 문제가 있는지 확인할 수 있습니다.
라이선스 감사를 프로젝트에 통합하여 CI/CD 파이프라인에 통합하는 작업을 단순화했습니다. 새로운 라이선스 감사 기능은 Java, Kotlin, PHP, Python, JavaScript를 포함한 모든 린터에서 사용할 수 있습니다.

Qodana의 기능에 대한 자세한 내용은 당사 웹사이트를 확인하세요.

GitHub 및 기타 CI/CD 도구와의 통합

이 플랫폼을 GitHub와 통합하고 GitHub에서 코드 문제를 감지, 분석 및 해결하는 데 사용할 수 있습니다. Java, Kotlin, PHP, Python, JavaScript 및 TypeScript를 사용하는 GitHub 워크플로 내 프로젝트에서 품질 보장 검사를 실행하려면 Qodana Scan GitHub action을 설치하세요. 몇 가지 기본 사용 사례에 대한 간략한 요약을 보려면 설명서를 참조하세요.

이 통합 기능은 GitHub에만 국한되지 않습니다! 사용하는 모든 CI 플랫폼에 Qodana를 추가할 수 있습니다. 당사 블로그 게시물에서 설명한 바와 같이 프로젝트의 품질 이정표를 수립하는 프로세스는 모든 CI 도구에서 매우 유사합니다. Qodana는 출시된 이후, GitHub, GitLab CI/CD, TeamCity, JenkinsAzure Pipelines를 지원하고 있습니다.

실제 Qodana 사용 모습 확인하기

이 7분 길이의 동영상을 시청하고 Qodana가 제공하는 기능과 Qodana가 어떻게 개발 프로세스를 원활하게 만들 수 있는지 자세한 내용을 확인하세요.

보다 실용적인 접근을 원하는 분들을 위해 직접 실험해볼 수 있는 샌드박스를 제공합니다. 게스트로 로그인한 다음, 미리 구성된 프로젝트 중 하나를 선택하세요. 이에 대한 시각적 데모는 위에 링크된 동영상의 2분 56초에 나옵니다.

Qodana 및 이 플랫폼이 CI 파이프라인에 제공하는 이점에 대한 자세한 정보는 아래의 사이트에서 확인하실 수 있습니다. 

Qodana에 대한 질문이나 제안 사항이 있으시면 여기에 코멘트를 남기거나 Twitter에서 태그를 달거나 qodana-support@jetbrains.com으로 문의주세요.

Qodana 팀

게시물 원문 작성자

Jessie Cho

Anastasia Khramushina