Skip to content

Validate rules for NNBD and other recent language changes #58100

Closed
@bwilkerson

Description

@bwilkerson

This is a tracking issue. The following is a list of the current lint rules. They should be checked off when they have been validated.

  • always_declare_return_types
  • always_put_control_body_on_new_line
  • always_put_required_named_parameters_first
  • always_require_non_null_named_parameters
    • This will be obsolete under NNBD
  • always_specify_types
  • annotate_overrides
  • avoid_annotating_with_dynamic
  • avoid_as
    • This will be obsolete under NNBD
  • avoid_bool_literals_in_conditional_expressions
  • avoid_catches_without_on_clauses
  • avoid_catching_errors
  • avoid_classes_with_only_static_members
  • avoid_double_and_int_checks
  • avoid_empty_else
  • avoid_equals_and_hash_code_on_mutable_classes
  • avoid_field_initializers_in_const_classes
  • avoid_function_literals_in_foreach_calls
  • avoid_implementing_value_types
  • avoid_init_to_null
  • avoid_js_rounded_ints
  • avoid_null_checks_in_equality_operators
    • This will be obsolete under NNBD
    • Might want a lint to prevent using Object? for the parameter
  • avoid_positional_boolean_parameters
  • avoid_print
  • avoid_private_typedef_functions
  • avoid_redundant_argument_values
  • avoid_relative_lib_imports
  • avoid_renaming_method_parameters
  • avoid_return_types_on_setters
  • avoid_returning_null
    • This will be obsolete under NNBD
  • avoid_returning_null_for_future
    • This will be obsolete under NNBD
  • avoid_returning_null_for_void
  • avoid_returning_this
  • avoid_setters_without_getters
  • avoid_shadowing_type_parameters
  • avoid_single_cascade_in_expression_statements
  • avoid_slow_async_io
  • avoid_types_as_parameter_names
  • avoid_types_on_closure_parameters
  • avoid_unnecessary_containers
  • avoid_unused_constructor_parameters
  • avoid_void_async
  • avoid_web_libraries_in_flutter
  • await_only_futures
  • camel_case_extensions
  • camel_case_types
  • cancel_subscriptions
  • cascade_invocations
  • close_sinks
  • comment_references
  • constant_identifier_names
  • control_flow_in_finally
  • curly_braces_in_flow_control_structures
  • diagnostic_describe_all_properties
  • directives_ordering
  • empty_catches
  • empty_constructor_bodies
  • empty_statements
  • file_names
  • flutter_style_todos
  • hash_and_equals
  • implementation_imports
  • invariant_booleans
  • iterable_contains_unrelated_type
  • join_return_with_assignment
  • library_names
  • library_prefixes
  • lines_longer_than_80_chars
  • list_remove_unrelated_type
  • literal_only_boolean_expressions
  • no_adjacent_strings_in_list
  • no_duplicate_case_values
  • no_logic_in_create_state
  • non_constant_identifier_names
  • null_closures
    • This will be obsolete under NNBD
  • omit_local_variable_types
  • one_member_abstracts
  • only_throw_errors
  • overridden_fields
  • package_api_docs
  • package_prefixed_library_names
  • parameter_assignments
  • prefer_adjacent_string_concatenation
  • prefer_asserts_in_initializer_lists
  • prefer_asserts_with_message
  • prefer_bool_in_asserts
    • Deprecated as of 2.0.
  • prefer_collection_literals
  • prefer_conditional_assignment
  • prefer_const_constructors
  • prefer_const_constructors_in_immutables
  • prefer_const_declarations
  • prefer_const_literals_to_create_immutables
  • prefer_constructors_over_static_methods
  • prefer_contains
  • prefer_double_quotes
  • prefer_equal_for_default_values
  • prefer_expression_function_bodies
  • prefer_final_fields
  • prefer_final_in_for_each
  • prefer_final_locals
  • prefer_for_elements_to_map_fromIterable
  • prefer_foreach
  • prefer_function_declarations_over_variables
  • prefer_generic_function_type_aliases
  • prefer_if_elements_to_conditional_expressions
  • prefer_if_null_operators
  • prefer_initializing_formals
  • prefer_inlined_adds
  • prefer_int_literals
  • prefer_interpolation_to_compose_strings
  • prefer_is_empty
  • prefer_is_not_empty
  • prefer_is_not_operator
  • prefer_iterable_whereType
  • prefer_mixin
  • prefer_null_aware_operators
  • prefer_relative_imports
  • prefer_single_quotes
  • prefer_spread_collections
  • prefer_typing_uninitialized_variables
  • prefer_void_to_null
  • provide_deprecation_message
  • pub/package_names
  • pub/sort_pub_dependencies
  • public_member_api_docs
  • recursive_getters
  • slash_for_doc_comments
  • sort_child_properties_last
  • sort_constructors_first
  • sort_unnamed_constructors_first
  • super_goes_last
  • test_types_in_equals
  • throw_in_finally
  • type_annotate_public_apis
  • type_init_formals
  • unawaited_futures
  • unnecessary_await_in_return
  • unnecessary_brace_in_string_interps
  • unnecessary_const
  • unnecessary_final
  • unnecessary_getters
  • unnecessary_getters_setters
  • unnecessary_lambdas
  • unnecessary_new
  • unnecessary_null_aware_assignments
  • unnecessary_null_in_if_null_operators
  • unnecessary_overrides
  • unnecessary_parenthesis
  • unnecessary_statements
  • unnecessary_this
  • unrelated_type_equality_checks
  • unsafe_html
  • use_full_hex_values_for_flutter_colors
  • use_function_type_syntax_for_parameters
  • use_rethrow_when_possible
  • use_setters_to_change_properties
  • use_string_buffers
  • use_to_and_as_if_applicable
  • valid_regexps
  • void_checks

Metadata

Metadata

Assignees

No one assigned

    Labels

    area-metaCross-cutting, high-level issues (for tracking many other implementation issues, ...).devexp-linterIssues with the analyzer's support for the linter packagelegacy-area-analyzerUse area-devexp instead.type-taskA well-defined stand-alone task

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions