이 문서는 10.2버전부터 추가된 소나큐브 클린코드 분류 체계에 대한 정보를 공유하기 위해 작성되었다SonarQube의 핵심 개념인 클린 코드에 대해 설명한다.
목차 |
---|
Clean
...
Code란?
클린코드는 소프트웨어가 의도한 대로 동작하며, 높은 품질 기준을 만족하도록 만드는 코드를 의미한다.
클린코드의 핵심 속성은 보안성, 신뢰성, 유지보수성으로, 이를 통틀어 소프트웨어 품질이라고
...
Clean Code는 소프트웨어가 의도한 대로 작동하고 높은 품질 표준을 충족하도록 보장한다.
Sonar 솔루션은 클린 코드(Clean Code) 상태, 즉 소프트웨어를 안전하고 안정적이며 유지 관리 가능하게 만드는 특성을 지닌 코드를 달성하는 데 도움을 주기 위해 설계되었다.
보안, 신뢰성 및 유지 관리 가능성을 소프트웨어 품질이라고 한다.
Clean Code 정의
SonarQube는 Clean Code를 일관성, 의도성, 적응성, 책임성이라는 속성을 가진 코드로 정의한다.
클린코드는 다음과 같은 특성을 갖춘 코드를 의미합니다.
일관성(Consistentency)
일관성 코드는 통일되고 전통적인 방식으로 작성되며, 모든 코드는 서로 다른 시간에 여러 명의 기여자가 있더라도 유사해 보이고 규칙적인 패턴을 따른다. 형식이 지정되고 일반적이며 식별 가능하다.
...
보안, 신뢰성, 유지 관리성이라는 세 가지 측면을 Sonar 솔루션에서는 소프트웨어 품질(Software qualities)이라고 부르며 , 이는 소프트웨어의 장기적인 가치에 기여한다.
보안(Security)
...
- 각 규칙(Rule):
- 각 규칙은 평가하는 Clean Code 속성과 연관되어 있다.
- 각 규칙은 클린 코드 속성이 기여하는 소프트웨어 품질과 연관되어 있다.
각 관련 소프트웨어 품질(보안, 신뢰성 또는 유지 관리 가능성)에는 심각도(높음, 중간 또는 낮음)가 지정된다. 심각도(Severity)는 규칙이 위반될 때 소프트웨어 품질이 얼마나 영향을 받는지 결정한다. - 규칙이 위반되면 이슈(Issue)가 제기된다. 이슈(Issue)는 규칙(Rule)에서 상속된 다양한 심각도로 하나 이상의 소프트웨어 품질에 영향을 미친다.
하위 그림은 Sonar 솔루션의 Clean-Code 기반 분석 원리를 보여준다.
...