패키지, 저장소 및 앱 카테고리 검색

패키지 상세v11.0.0

very_good_analysis

Very Good Ventures에서 내부적으로 사용하는 Dart 및 Flutter용 린트 규칙.

AndroidiOSWebmacOSWindowsLinux
30일 다운로드
133만
좋아요
774
Pub 점수
160

패키지 설치

flutter pub add very_good_analysis

패키지 개요

공개 정보를 바탕으로 생성한 선택 가이드입니다.

Very Good Ventures에서 내부적으로 개발하고 사용하는 Dart 및 Flutter용 포괄적인 린트 규칙 세트입니다. 이 패키지는 프로젝트 간에 일관된 코드 품질, 가독성 및 최선의 실천 방식을 보장합니다. 개발자들이 일반적인 문제를 조기에 발견하고 깨끗한 코드베이스를 유지하며 산업 표준 관행을 준수할 수 있도록 도와줍니다. Flutter 및 순수 Dart 애플리케이션 모두에 맞게 조정되어 있으며, 고품질이고 유지보수가 쉬운 코드를 목표로 하는 팀에게 이상적입니다. pub를 통해 Flutter 도구 체인과 원활하게 통합됩니다.

사용 사례

  • 팀 프로젝트에서 일관된 코드 스타일 강제 적용
  • 자동 린팅을 통한 코드 품질 향상
  • 정돈되고 읽기 쉬운 Dart/Flutter 코드베이스 유지
  • CI/CD 파이프라인에 표준화된 린팅 통합하기
  • 명확한 코딩 지침을 통한 입사 지원

주요 기능

  • 사전 정의된, 의견이 반영된 린트 규칙
  • Flutter 및 Dart 도구와의 통합
  • 현대적 관행에 맞춰 정기적으로 업데이트됨
  • 모든 주요 플랫폼을 지원합니다
  • 팀 전체의 일관성에 최적화됨

적합한 대상

  • Flutter 개발 팀
  • Dart 프로젝트 유지보수자
  • 코드 품질을 우선시하는 팀
  • CI/CD 환경
  • 신규 개발자가 최선의 실천 방법을 배우고 있습니다

고려 사항

  • 기존 프로젝트에 대한 구성 조정이 필요할 수 있습니다
  • 편향된 규칙은 모든 팀 스타일에 맞지 않을 수 있습니다
  • linting 개념을 이해해야 합니다
  • 엄격한 린팅을 피하는 프로젝트에는 적합하지 않습니다
  • 최신 상태를 유지하려면 정기적인 업데이트가 필요합니다

원본 README

연결된 소스 저장소의 README 원문 스냅샷입니다. 최신 내용은 저장소에서 확인하세요.

Very Good Analysis

Very Good Ventures Very Good Ventures

Developed with 💙 by Very Good Ventures 🦄

ci pub package License: MIT style: very good analysis


This package provides lint rules for Dart and Flutter which are used at Very Good Ventures. For more information, see the complete list of options.

Note: This package was heavily inspired by pedantic.

Usage

To use the lints, add as a dev dependency in your pubspec.yaml:

dart pub add dev:very_good_analysis
# or
flutter pub add dev:very_good_analysis

Then, add an include in analysis_options.yaml:

include: package:very_good_analysis/analysis_options.yaml

This will ensure you always use the latest version of the lints. If you wish to restrict the lint version, specify a version of analysis_options.yaml instead:

include: package:very_good_analysis/analysis_options.10.0.0.yaml

Formatter

In addition to lint rules, this package configures the Dart formatter. Trailing commas are set to automate, which lets the formatter decide when to add or remove trailing commas to keep code readable:

formatter:
  trailing_commas: automate

If you prefer to manage trailing commas yourself, override this setting in your analysis_options.yaml:

include: package:very_good_analysis/analysis_options.yaml
formatter:
  trailing_commas: preserve

Suppressing Lints

There may be cases where specific lint rules are undesirable. Lint rules can be suppressed at the line, file, or project level.

An example use case for suppressing lint rules at the file level is suppressing the prefer_const_constructors in order to achieve 100% code coverage. This is due to the fact that const constructors are executed before the tests are run, resulting in no coverage collection.

Line Level

To suppress a specific lint rule for a specific line of code, use an ignore comment directly above the line:

// ignore: public_member_api_docs
class A {}
File Level

To suppress a specific lint rule of a specific file, use an ignore_for_file comment at the top of the file:

// ignore_for_file: public_member_api_docs

class A {}

class B {}
Project Level

To suppress a specific lint rule for an entire project, modify analysis_options.yaml:

include: package:very_good_analysis/analysis_options.yaml
linter:
  rules:
    public_member_api_docs: false

Badge

To indicate your project is using very_good_analysis → style: very good analysis

[![style: very good analysis](https://img.shields.io/badge/style-very_good_analysis-B22C89.svg)](https://pub.dev/packages/very_good_analysis)

Excluded rules

Below is a list of rules that are not enabled by default together with the reason on why they have been excluded:

Rule Reason
always_put_control_body_on_new_line Can conflict with the Dart formatter
always_specify_types Incompatible with omit_local_variable_types
annotate_redeclares Experimental
avoid_annotating_with_dynamic Not specified
avoid_classes_with_only_static_members Not specified
avoid_futureor_void Experimental
avoid_implementing_value_types We need to implement value types for mocks/fakes in tests
avoid_null_checks_in_equality_operators Has been deprecated and will be removed
avoid_private_typedef_functions Deprecated
close_sinks Has unresolved false positives
diagnostic_describe_all_properties Not specified
do_not_use_environment Not specified
initialize_in_field_declaration Not specified
library_names Superseded by unnecessary_library_name
no_dynamic_casts Not specified
no_raw_types Not specified
no_runtimetype_tostring Not specified
omit_obvious_local_variable_types Experimental
omit_obvious_property_types Incompatible with type_annotate_public_apis
one_member_abstracts Deprecated
package_prefixed_library_names Broken; superseded by unnecessary_library_name
prefer_double_quotes Incompatible with prefer_single_quotes
prefer_expression_function_bodies Not specified
prefer_final_parameters Incompatible with avoid_final_parameters
prefer_for_elements_to_map_fromiterable Not specified
prefer_iterable_wheretype Not specified
prefer_relative_imports Incompatible with always_use_package_imports
prefer_void_to_null Has unresolved false positives
specify_nonobvious_local_variable_types Experimental
unnecessary_async Experimental
unnecessary_await_in_return Deprecated
unnecessary_const_in_enum_constructor Not specified
unnecessary_final Incompatible with prefer_final_locals
unreachable_from_main Not specified
unsafe_variance Experimental
use_decorated_box Has unresolved malfunctions
use_if_null_to_convert_nulls_to_bools Not specified
use_primary_constructors Not specified
var_with_no_type_annotation Not specified

카테고리

소스 저장소

이 패키지를 사용하는 프로젝트

순위