좋은지식/잡학다식

소스 품질 측정 방법

알라르방 2021. 6. 8. 15:35

  1. 기본 메트릭(Basic)
     기본 메트릭은 주로 특정 데이터를 카운트함으로써 얻어지는 값들이다.
   1) 라인수(Lines Of Code, LOC)
   2) 어트리뷰트의 수(Number Of Attributes, NOA)
   3) 클래스의 수(Number Of Classes, NOC)
   4) 생성자의 수(Number Of Constructors, NOCON)
   5) import 명령문의 수(Number Of Import Statement, NOIS)
   6) 멤버의 수(Number Of Menbers, NOM)
   7) 연산의 수(Number Of Operations, NOO)
 
  2. 응집도 메트릭(Cohesion)
     응집도 메트릭은 주로 클래스 내부에 속하는 멤버들끼리의 관계가 얼마나 밀접한가를 측정하는 값들이다.
   1) 메소드 간의 응집도 부족 1(Lack Of Cohesion Of Method 1, LOCOM1)
   2) 메소드 가의 응집도 부족 2(Lack Of Cohesion Of Method 2, LOCOM2)
   3) 메소드 가의 응집도 부족 3(Lack Of Cohesion Of Method 3, LOCOM3)

  3. 복잡도 메트릭(Complexity)
     복잡도 메트릭은 시스템을 구성하는 클래스들의 복잡도를 구하는 메트릭들이다.
   1) 어트리뷰트 복잡도(Attribute Complexity, AC)
   2) 사이클로메틱 복잡도(Cyclomatic Complexity, CC)
   3) 원격 메소드 수(Number Of Remote Methods, NORM)
   4) 클래스의 반응(Response For Class, RFC)
   5) 클래스 당 메소드 가중치 1(Weighted Methods Per Class 1, WMPC1)
   6) 클래스 당 메소드 가중치 2(Weighted Methods Per Class 2, WMPC2)

  4. 결합도 메트릭(Coupling)
     결합도 메트릭은 주로 클래스 사이의 연관정도를 측정하는 값들이다.
   1) 객체 간의 결합도(Coupling Between Objects, CBO)
   2) 결합도 인수(Coupling Factor, CF)
   3) 자료추상화 결합도(Data Abstraction Coupling, DAC)
   4) 팬아웃(FanOut, FO)

  5. 할스테드 메트릭(Halstead)
     이 메트릭은 할스테드의 소프트웨어 과학 메트릭에서 정의된 것들이다.
   1) 피연산자의 수(Number of Operands, NOprnd)
   2) 연산자의 수(Number of Operands, NOprtr)
   3) 유일한 피연산자의 수(Number of Unique Operands, NUOprnd)
   4) 유일한 연산자의 수(Number of Unique Operators, NUOprtr)
   5) 할스테드 난이도(Halstead Difficulty, HDiff)
   6) 할스테드 노력(Halstead Effort, HEff)
   7) 할스테드 프로그램 길이(Halstead Program Length, HPLen)
   8) 할스테드 프로그램 어휘(Halstead Program Vocabulary, HPVoc)
   9) 할스테드 프로그램 부피(Halstead Program Volume, HPVol)

  6. 캡슐화 메트릭(Incapsulation)
     이 메트릭은 MOOD에서 정의된 것들로서 프로젝트 단위로 수집되는 것들이다.
   1) 어트리부트 은닉 인수(Attribute Hiding Factor, AHF)
   2) 메소드 은닉 인수(Method Hiding Factor, MHF)
 
  7. 상속 메트릭(Inheritance)
     이 메트릭은 상속과 관계되는 값들이다.
   1) 어트리뷰트 상속 인수(Attribute Inheritance Factor, AIF)
   2) 상속계층의 깊이(Depth of Inheritance Hierarchy, DOIH)
   3) 메소드 상속 인수(Method Inheritance Factor, MIF)
   4) 자식 클래스의 수(Number Of Child Classes, NOCC)

  8. 최대값 메트릭(Maximum)
     이 메트릭은 특정 데이터의 최대치를 구함으로서 얻어지는 것들이다.
   1) 블록의 최대 깊이(Maxinum Number Of Levels, MNOL)
   2) 매개 변수의 최대 수(Maxinum Number Of Parameters, NMOP)
   3) 함수의 최대 크기(Maximum Size Of Operation, MSOO)

  9. 다형성 메트릭(Polymorphism)
     이 메트릭은 상속 관계에서 오버라이드된 멤버와 관련된 값을 측정하는 것이다.
   1) 추가된 메소드 수(Number Of Added Methods, NOAM)
   2) 오버라이드된 메소드 수(Number Of Overridden Methods, NOOM)
   3) 다형성 인수(Polymorphism Factor, PF)

  10. 주석 비율(Ratio)
      이 메트릭은 특정한 데이터들의 비율을 구한 값들이다.
   1) 주석 비율(Comment Ratio, CR)
   2) 패키지 멤버의 비율(Percentage of Package Members, PPkgM)
   3) 사적 멤버의 비율(Percentage of Private Members, PPrivM)
   4) 보호된 멤버의 비율(Percentage of Protected Members, PProtM)
   5) 공적 멤버의 비율(Percentage of Public Members, PPubM)
   6) 순수 주석 비율(True Comment Ratio, TCR)

반응형

'좋은지식 > 잡학다식' 카테고리의 다른 글

윈도우10 XPS 설치 방법  (0) 2021.07.30
물류 용어 정리  (0) 2021.07.05
네이버 날짜 계산기  (0) 2021.07.05
Pi 파이코인 채굴방법  (0) 2021.06.21
네이버 카페 출석수 스크립트  (0) 2021.06.17