코딩 규칙 - 종류와 심각도

Table of Contents

규칙들은 어떻게 분류되어 있습니까?

SonarQube Quality Model은 규칙을 버그(Bugs), 보안 취약점(Security Vulnerabilities) 및 코드 악취(Code Smalls)의 세 가지로 분류합니다. 각 규칙들은 다음 기준에 따라 각 분류로 할당됩니다:

코드와 관련된 규칙이 명백한 잘못에 관한 것입니까? 혹은 보다 잘못된 측에 속합니까?

이 질문에 대한 답이 "네"인 경우, 해당 규칙은 버그(Bugs) 분류에 포함됩니다.
만약 그렇지 않은 경우...

코드와 관련된 규칙이 해커에 의한 착취와 관련된 것입니까?

이 질문에 대한 답이 "네"인 경우, 해당 규칙은 취약점(Vulnerability) 분류에 포함됩니다.
만약 그렇지 않은 경우...

코드와 관련된 규칙이 버그(Bugs)나 취약점(Vulnerability)에 해당하지 않는 것입니까?

심각도는 어떻게 할당됩니까?

규칙에 심각도(severity)를 할당하기 위해, 몇가지 질문을 계속 던집니다. 기본적으로 가장 첫 번쨰 질문은 다음과 같습니다:

이 일이 발생했을 때 최악의 상황으로 일어날 수 있는 일은 무엇입니까?

이 질문에 대한 답을 던지는 과정에서, 아메게돈(Armageddon)을 예측한 것이 아니라 머피의 법칙(Murphy's Law)을 고려하고자 했습니다.

이후 우리는 최악 상황과 관련된 영향도(impact) 및 가능성(likelihood)를 평가했습니다(아래, 심각도와 가능성은 어떻게 결정합니까?를 참조합니다). 높음(high)과 낮음(low)으로 각 요소를 평가했습니다:


 

impact

likelihood

Blocker

(plus)(plus)
Critical(plus)(minus)
Major(minus)(plus)
Minor(minus)(minus)

심각도와 가능성은 어떻게 결정합니까?

각 규칙의 심각도와 영향도를 평가하기 위해 우리는 가장 최악의 상황(심각도는 어떻게 할당됩니까? 참조)에서 시작해 분류 별로 질문을 던졌습니다.

버그(Bugs)

심각도: 최악의 상황이 발생하는 경우 어플리케이션에 크래시가 발생하거나 저장된 데이터를 손상시킬 수 있습니까?

가능성: 최악의 상황이 발생할 확률이 얼마나 됩니까?

취약점(Vulnerabilities)

심각도: 시스템 착취로 인해 최악의 경우 여러분의 자산 혹은 여러분의 사용자들에게 심각한 위험을 초래할 수 있습니까?

영향도: 해커로 인해 최악의 상황에 준하는 상황이 발생할 확률이 얼마나 됩니까?

코드 악취(Code Smells)

심각도: 최악의 상황이 발생하는 경우, 소프트웨어 유지보수담당자가 새로운 버그를 유입시킬 수 있습니까?

영향도: 최악의 상황이 발생할 확률이 얼마나 됩니까?

© 2017-2018 Moses Kim.

별도의 언급이 없는 한, 이 스페이스의 컨텐츠는 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 4.0 국제 라이선스에 따라 이용할 수 있습니다.
SONARQUBE는 SonarSource SA의 트레이드 마크입니다. 모든 트레이트 마크 및 저작권은 각 소유자의 소유물입니다.

::: SonarQube 관련 문의 : 이메일 :::