Be consistent. Be brief.
This package provides linter rules corresponding to the guidelines in Effective Dart. You can easily see all enabled rules on the Supported Lint Rules site.
Note: This package is inspired by the pedantic package, which contains lints internally used at Google.
To use the lints add a dev dependency in your pubspec.yaml
:
dev_dependencies:
effective_dart: ^1.2.0
Then add an include in your analysis_options.yaml
file:
include: package:effective_dart/analysis_options.yaml
Or, if you using e.g. continuous builds,
they will likely fail whenever a new version of package:effective_dart
is released.
To avoid this, specify a version of analysis_options.yaml
:
include: package:effective_dart/analysis_options.1.2.0.yaml
Consider guidelines are practices that you might or might not want to follow, depending on circumstances, precedents, and your own preference.
Following lints are not enforced by this package:
prefer_expression_function_bodies
prefer_typing_uninitialized_variables
use_function_type_syntax_for_parameters
Following lints have been considered and will not be enforced by this package:
unnecessary_getters
has been disabledcomment_references
is way too restrictive and comment references are handled in different ways in tools (see this issue)
There are situations when you want to suppress a specific lint rule.
You can suppress lints alone in your project on multiple levels.
We will go through examples of how to suppress
public_member_api_docs
lint rule.
Note: this package provides linter rules corresponding to the guidelines in Effective Dart. That means we generally do not want to disable a rule in this package if it works properly. Yet, if you think some rule should be disabled by this package, open an issue.
To suppress a specific lint rule on a line of code,
you can put an ignore
comment above the line of code:
// ignore: public_member_api_docs
class MyClass {}
To suppress a specific lint rule on a file,
you can put an ignore_for_file
comment to the file:
// ignore_for_file: public_member_api_docs
class MyClass {}
class MySecondClass {}
To suppress a specific lint rule on a project,
you can modify your analysis_options.yaml
file:
include: package:effective_dart/analysis_options.yaml
linter:
rules:
public_member_api_docs: false
Show the world you're following Effective Dart →
[![style: effective dart](https://img.shields.io/badge/style-effective_dart-40c4ff.svg)](https://pub.dev/packages/effective_dart)
Licensed under the MIT License.