Dart: prefer constant constructors

This post is taken from here with modifications

Recently the flutter team created a new package called flutter_lints and it is added to your analysis_options.yaml by default.

To know more about the flutter lints package see this document(Introduction to flutter lints package).

There are several ways to remove this prefer const with constant constructors warning.

You can add the ignore line comment at the top of the file. if you want to remove the warning from the file.

// ignore_for_file: prefer_const_constructors
import 'dart:async';
import 'package:flutter/material.dart';

else if you want to remove the warning to that particular line, add the ignore line comment at the top of the line.

AppBar(        
    // ignore: prefer_const_constructors
    title:Text('Register'),
  ),

This is the simplest way to disable the rule.

Another one is you can simply remove the following line from the analysis_options.yaml file.

include: package:flutter_lints/flutter.yaml

But it’s better to keep that line and add some rules in the analysis_options.yaml file(it’s my personal opinion based on my research).

To avoid the prefer const with constant constructors warning add this rule prefer_const_constructors : false to the analysis_options.yaml file.

linter:
  rules:
    prefer_const_constructors : false
    # avoid_print: false  # Uncomment to disable the `avoid_print` rule
    # prefer_single_quotes: true  # Uncomment to enable the `prefer_single_quotes` rule

There are other rules that may help you to make your code good. You can add some of the following rules if you want(from pedantic).

linter:
  rules:
    - always_declare_return_types
    - always_require_non_null_named_parameters
    - annotate_overrides
    - avoid_init_to_null
    - avoid_null_checks_in_equality_operators
    - avoid_relative_lib_imports
    - avoid_return_types_on_setters
    - avoid_shadowing_type_parameters
    - avoid_single_cascade_in_expression_statements
    - avoid_types_as_parameter_names
    - await_only_futures
    - camel_case_extensions
    - curly_braces_in_flow_control_structures
    - empty_catches
    - empty_constructor_bodies
    - library_names
    - library_prefixes
    - no_duplicate_case_values
    - null_closures
    - omit_local_variable_types
    - prefer_adjacent_string_concatenation
    - prefer_collection_literals
    - prefer_conditional_assignment
    - prefer_contains
    - prefer_equal_for_default_values
    - prefer_final_fields
    - prefer_for_elements_to_map_fromIterable
    - prefer_generic_function_type_aliases
    - prefer_if_null_operators
    - prefer_inlined_adds
    - prefer_is_empty
    - prefer_is_not_empty
    - prefer_iterable_whereType
    - prefer_single_quotes
    - prefer_spread_collections
    - recursive_getters
    - slash_for_doc_comments
    - sort_child_properties_last
    - type_init_formals
    - unawaited_futures
    - unnecessary_brace_in_string_interps
    - unnecessary_const
    - unnecessary_getters_setters
    - unnecessary_new
    - unnecessary_null_in_if_null_operators
    - 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
    - valid_regexps

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)