본문 바로가기
Flutter/Flutter Programming

Flutter에서 dart_code_metrics 패키지 사용법과 옵션

by Maccrey 2024. 7. 3.
728x90

dart_code_metrics는 Dart 코드의 품질을 분석하고, 유지 보수성 및 가독성을 높이는 데 도움을 주는 유용한 도구입니다.

이 블로그 포스트에서는 dart_code_metrics 패키지를 Flutter 프로젝트에 통합하는 방법과 주요 옵션에 대해 자세히 설명하겠습니다.

1. dart_code_metrics 패키지 설치

먼저 dart_code_metrics 패키지를 프로젝트에 추가해야 합니다. pubspec.yaml 파일에 다음과 같이 추가합니다

dev_dependencies:
  dart_code_metrics: ^5.0.0

그런 다음, 터미널에서 pub get 명령어를 실행하여 패키지를 설치합니다.

flutter pub get

2. 설정 파일 생성

dart_code_metrics를 사용하려면 프로젝트 루트에 analysis_options.yaml 파일을 생성하고 설정을 추가해야 합니다.

예를 들어, 다음과 같이 설정할 수 있습니다

analyzer:
  plugins:
    - dart_code_metrics

dart_code_metrics:
  metrics:
    cyclomatic-complexity: 20
    lines-of-code: 200
    maximum-nesting-level: 5
    number-of-parameters: 4
    source-lines-of-code: 150
  rules:
    - prefer-trailing-comma
    - no-boolean-literal-compare
    - no-empty-block
  metrics-exclude:
    - test/**
    - example/**
  metrics-include:
    - lib/**
    - bin/**

이 설정 파일에서 각 옵션에 대해 자세히 설명하겠습니다.

2.1 Metrics

metrics 섹션에서는 코드 복잡성, 코드 라인 수, 최대 중첩 수준, 함수의 매개변수 수와 같은 다양한 메트릭을 설정할 수 있습니다.

  • cyclomatic-complexity: 함수의 사이클로매틱 복잡성을 제한합니다.
  • lines-of-code: 함수 또는 클래스의 최대 코드 라인 수를 제한합니다.
  • maximum-nesting-level: 코드의 최대 중첩 수준을 제한합니다.
  • number-of-parameters: 함수의 최대 매개변수 수를 제한합니다.
  • source-lines-of-code: 함수 또는 클래스의 최대 소스 코드 라인 수를 제한합니다.

2.2 Rules

rules 섹션에서는 코드 품질을 높이기 위한 다양한 규칙을 정의할 수 있습니다.

  • prefer-trailing-comma: 마지막에 쉼표를 사용하도록 권장합니다.
  • no-boolean-literal-compare: 불리언 리터럴과의 비교를 금지합니다.
  • no-empty-block: 빈 블록을 금지합니다.

2.3 Metrics Exclude

metrics-exclude 섹션에서는 메트릭 분석에서 제외할 파일 또는 디렉토리를 지정할 수 있습니다. 예를 들어, 테스트 파일과 예제 파일을 제외할 수 있습니다.

2.4 Metrics Include

metrics-include 섹션에서는 메트릭 분석에 포함할 파일 또는 디렉토리를 지정할 수 있습니다. 예를 들어, lib 및 bin 디렉토리를 포함할 수 있습니다.

3. 코드 분석 실행

설정을 완료한 후, 터미널에서 dart_code_metrics를 실행하여 코드 품질을 분석할 수 있습니다.

flutter pub run dart_code_metrics:metrics analyze lib

이 명령어는 lib 디렉토리 내의 파일들을 분석합니다.

결과는 터미널에 출력됩니다.

4. HTML 보고서 생성

dart_code_metrics는 HTML 형식의 보고서를 생성할 수도 있습니다. 이를 위해 다음 명령어를 사용합니다

flutter pub run dart_code_metrics:metrics analyze lib --reporter=html --output-directory=metrics_report

이 명령어는 lib 디렉토리를 분석하고, metrics_report 디렉토리에 HTML 보고서를 생성합니다.

5. Linter 규칙 통합

dart_code_metrics는 Linter 규칙을 통합하여 코드 품질을 더욱 높일 수 있습니다. analysis_options.yaml 파일에서 linter 섹션을 추가합니다

linter:
  rules:
    - prefer_trailing_comma
    - no_boolean_literal_compare
    - no_empty_block

결론

dart_code_metrics 패키지는 Dart 및 Flutter 프로젝트에서 코드 품질을 분석하고 유지 보수성을 높이는 데 유용한 도구입니다.

이 블로그 포스트에서는 패키지 설치부터 설정 파일 작성, 코드 분석 실행, HTML 보고서 생성, Linter 규칙 통합까지 다양한 방법을 설명했습니다.

이를 통해 프로젝트의 코드 품질을 높이고, 보다 유지 보수하기 쉬운 코드를 작성할 수 있습니다.

 

 

 

 

 

Tester Share [테스터쉐어] - Google Play 앱

Tester Share로 Google Play 앱 등록을 단순화하세요.

play.google.com

 

 

나비일기장 [수발일기장] - Google Play 앱

수형자 수발가족및 수발인을 위한 일기장으로 수형생활시기에 따른 정보를 얻을 수 있습니다.

play.google.com

 

728x90