Lint Rules | Description | Fix |
---|---|---|
avoid_empty_else |
Avoid empty statements in else clauses. | ✅ |
avoid_relative_lib_imports |
Avoid relative imports for files in lib/ . |
✅ |
avoid_shadowing_type_parameters |
Avoid shadowing type parameters. | |
avoid_types_as_parameter_names |
Avoid types as parameter names. | ✅ |
await_only_futures |
Await only futures. | ✅ |
camel_case_extensions |
Name extensions using UpperCamelCase. | |
camel_case_types |
Name types using UpperCamelCase. | |
collection_methods_unrelated_type |
Invocation of various collection methods with arguments of unrelated types. | |
curly_braces_in_flow_control_structures |
DO use curly braces for all flow control structures. | ✅ |
dangling_library_doc_comments |
Attach library doc comments to library directives. | ✅ |
depend_on_referenced_packages |
Depend on referenced packages. | |
empty_catches |
Avoid empty catch blocks. | ✅ |
file_names |
Name source files using lowercase_with_underscores . |
|
hash_and_equals |
Always override hashCode if overriding == . |
✅ |
implicit_call_tearoffs |
Explicitly tear-off call methods when using an object as a Function. |
✅ |
library_annotations |
Attach library annotations to library directives. | ✅ |
no_duplicate_case_values |
Don't use more than one case with same value. | ✅ |
no_wildcard_variable_uses |
Don't use wildcard parameters or variables. | |
non_constant_identifier_names |
Name non-constant identifiers using lowerCamelCase. | ✅ |
null_check_on_nullable_type_parameter |
Don't use null check on a potentially nullable type parameter. |
✅ |
prefer_generic_function_type_aliases |
Prefer generic function type aliases. | ✅ |
prefer_is_empty |
Use isEmpty for Iterable s and Map s. |
✅ |
prefer_is_not_empty |
Use isNotEmpty for Iterable s and Map s. |
✅ |
prefer_iterable_whereType |
Prefer to use whereType on iterable. |
✅ |
prefer_typing_uninitialized_variables |
Prefer typing uninitialized variables and fields. | ✅ |
provide_deprecation_message |
Provide a deprecation message, via @Deprecated("message") . |
|
secure_pubspec_urls |
Use secure urls in pubspec.yaml . |
|
type_literal_in_constant_pattern |
Don't use constant patterns with type literals. | ✅ |
unnecessary_overrides |
Don't override a method to do a super method invocation with the same parameters. | ✅ |
unrelated_type_equality_checks |
Equality operator == invocation with references of unrelated types. |
|
use_string_in_part_of_directives |
Use string in part of directives. | ✅ |
valid_regexps |
Use valid regular expression syntax. | |
void_checks |
Don't assign to void . |
Lint Rules | Description | Fix |
---|---|---|
annotate_overrides |
Annotate overridden members. | ✅ |
avoid_function_literals_in_foreach_calls |
Avoid using forEach with a function literal. |
✅ |
avoid_init_to_null |
Don't explicitly initialize variables to null . |
✅ |
avoid_null_checks_in_equality_operators |
Don't check for null in custom == operators. |
✅ |
avoid_renaming_method_parameters |
Don't rename parameters of overridden methods. | ✅ |
avoid_return_types_on_setters |
Avoid return types on setters. | ✅ |
avoid_returning_null_for_void |
Avoid returning null for void . |
✅ |
avoid_single_cascade_in_expression_statements |
Avoid single cascade in expression statements. | ✅ |
constant_identifier_names |
Prefer using lowerCamelCase for constant names. | ✅ |
control_flow_in_finally |
Avoid control flow in finally blocks. |
|
empty_constructor_bodies |
Use ; instead of {} for empty constructor bodies. |
✅ |
empty_statements |
Avoid empty statements. | ✅ |
exhaustive_cases |
Define case clauses for all constants in enum-like classes. | ✅ |
implementation_imports |
Don't import implementation files from another package. | |
invalid_runtime_check_with_js_interop_types |
Avoid runtime type tests with JS interop types where the result may not |
be platform-consistent. | |
| library_prefixes
| Use lowercase_with_underscores
when specifying a library prefix. | |
| library_private_types_in_public_api
| Avoid using private types in public APIs. | |
| no_leading_underscores_for_library_prefixes
| Avoid leading underscores for library prefixes. | ✅ |
| no_leading_underscores_for_local_identifiers
| Avoid leading underscores for local identifiers. | ✅ |
| null_closures
| Do not pass null
as an argument where a closure is expected. | ✅ |
| overridden_fields
| Don't override fields. | |
| package_names
| Use lowercase_with_underscores
for package names. | |
| prefer_adjacent_string_concatenation
| Use adjacent strings to concatenate string literals. | ✅ |
| prefer_collection_literals
| Use collection literals when possible. | ✅ |
| prefer_conditional_assignment
| Prefer using ??=
over testing for null
. | ✅ |
| prefer_contains
| Use contains for List
and String
instances. | ✅ |
| prefer_final_fields
| Private field could be final
. | ✅ |
| prefer_for_elements_to_map_fromIterable
| Prefer for
elements when building maps from iterables. | ✅ |
| prefer_function_declarations_over_variables
| Use a function declaration to bind a function to a name. | ✅ |
| prefer_if_null_operators
| Prefer using ??
operators. | ✅ |
| prefer_initializing_formals
| Use initializing formals when possible. | ✅ |
| prefer_inlined_adds
| Inline list item declarations where possible. | ✅ |
| prefer_interpolation_to_compose_strings
| Use interpolation to compose strings and values. | ✅ |
| prefer_is_not_operator
| Prefer is! operator. | ✅ |
| prefer_null_aware_operators
| Prefer using null
-aware operators. | ✅ |
| prefer_spread_collections
| Use spread collections when possible. | ✅ |
| recursive_getters
| Property getter recursively returns itself. | |
| slash_for_doc_comments
| Prefer using ///
for doc comments. | ✅ |
| type_init_formals
| Don't type annotate initializing formals. | ✅ |
| unnecessary_brace_in_string_interps
| Avoid using braces in interpolation when not needed. | ✅ |
| unnecessary_const
| Avoid const
keyword. | ✅ |
| unnecessary_constructor_name
| Unnecessary .new
constructor name. | ✅ |
| unnecessary_getters_setters
| Avoid wrapping fields in getters and setters just to be "safe". | ✅ |
| unnecessary_late
| Don't specify the late
modifier when it is not needed. | ✅ |
| unnecessary_library_name
| Don't have a library name in a library
declaration. | ✅ |
| unnecessary_new
| Unnecessary new keyword. | ✅ |
| unnecessary_null_aware_assignments
| Avoid null
in null
-aware assignment. | ✅ |
| unnecessary_null_in_if_null_operators
| Avoid using null
in ??
operators. | ✅ |
| unnecessary_nullable_for_final_variable_declarations
| Use a non-nullable type for a final variable initialized with a non-nullable value. | ✅ |
| unnecessary_string_escapes
| Remove unnecessary backslashes in strings. | ✅ |
| unnecessary_string_interpolations
| Unnecessary string interpolation. | ✅ |
| unnecessary_this
| Don't access members with this
unless avoiding shadowing. | ✅ |
| unnecessary_to_list_in_spreads
| Unnecessary toList()
in spreads. | ✅ |
| use_function_type_syntax_for_parameters
| Use generic function type syntax for parameters. | ✅ |
| use_rethrow_when_possible
| Use rethrow to rethrow a caught exception. | ✅ |
| use_super_parameters
| Use super-initializer parameters where possible. | ✅ |