$30 off During Our Annual Pro Sale. View Details »

Flutter Lintツールを完全に理解した

Flutter Lintツールを完全に理解した

Flutter Lintツールを完全に理解した
完全に理解したTalkの32回目開催回のトーク資料です。

#flutter
#flutterjp
#完全に理解したTalk

Kenichi Kambara

August 25, 2022
Tweet

More Decks by Kenichi Kambara

Other Decks in Technology

Transcript

  1. 2022.08.25 ਆݪ ݈Ұ (@korodroid) Flutter LintπʔϧΛ׬શʹཧղͨ͠ ʮʓʓ׬શʹཧղͨ͠ʯTalkɹ#32

  2. About me •Mobile App Development •Speeches (e.g. 9 International confs.)

    •Writings (e.g. 6 Dev Books) •[Of fi cial] Evangelist at NTT TechnoCross •[Private] iplatform.org ਆݪɹ݈Ұ (@korodroid)
  3. About my Flutter product (Private works) Sekaiphone Pro(Flutter/Kotlin/Swift) MyToDo(Flutter)

  4.  Lintπʔϧ(੩తղੳ)Λ׆༻͢ΔϝϦοτ(ྫ) 1. જࡏతͳόάͷݕग़ 2. ϨϏϡʔ࡞ۀͷෛՙܰݮ 3. ΞϓϦͷύϑΥʔϚϯεվળ 


  5.  Flutter޲͚Lintπʔϧ( fl utter_lints) https://pub.dev/packages/ fl utter_lints

  6.  Walking through “ fl utter_lints” ↑ඞཁʹԠͯ͡ɺ࠷৽൛ʹߋ৽

  7.  Walking through “analysis_options.yaml”

  8.  Walking through “ fl utter.yaml” # Recommended lints for

    Flutter apps, packages, and plugins. include: package:lints/recommended.yaml linter: rules: - avoid_print - avoid_unnecessary_containers - avoid_web_libraries_in_ fl utter - no_logic_in_create_state - prefer_const_constructors - prefer_const_constructors_in_immutables - prefer_const_declarations - prefer_const_literals_to_create_immutables - sized_box_for_whitespace - sort_child_properties_last - use_build_context_synchronously - use_full_hex_values_for_ fl utter_colors - use_key_in_widget_constructors
  9.  # Recommended lints for Flutter apps, packages, and plugins.

    include: package:lints/recommended.yaml linter: rules: - avoid_print - avoid_unnecessary_containers - avoid_web_libraries_in_ fl utter - no_logic_in_create_state - prefer_const_constructors - prefer_const_constructors_in_immutables - prefer_const_declarations - prefer_const_literals_to_create_immutables - sized_box_for_whitespace - sort_child_properties_last - use_build_context_synchronously - use_full_hex_values_for_ fl utter_colors - use_key_in_widget_constructors Walking through “ fl utter.yaml”
  10.  Walking through “Linter for Dart” https://dart-lang.github.io/linter/lints/ productionίʔυʹ͓͚Δprint཈੍

  11.  Walking through “ fl utter.yaml” # Recommended lints for

    Flutter apps, packages, and plugins. include: package:lints/recommended.yaml linter: rules: - avoid_print - avoid_unnecessary_containers - avoid_web_libraries_in_ fl utter - no_logic_in_create_state - prefer_const_constructors - prefer_const_constructors_in_immutables - prefer_const_declarations - prefer_const_literals_to_create_immutables - sized_box_for_whitespace - sort_child_properties_last - use_build_context_synchronously - use_full_hex_values_for_ fl utter_colors - use_key_in_widget_constructors
  12.  Walking through “recommended.yaml”

  13.  Walking through “Linter for Dart” ྫ.Collection͕ಛఆཁૉΛؚΉ͔൱͔ͷ൑ఆ ྫ.Πϯελϯεੜ੒ͷͨΊͷnewར༻཈੍

  14.  Walking through “recommended.yaml”

  15.  Walking through “core.yaml”

  16.  Adding Custom Rules https://github.com/ fl utter/samples

  17.  Walking through “samples/analysis_options.yaml” include: package: fl utter_lints/ fl utter.yaml

    analyzer: strong-mode: implicit-casts: false implicit-dynamic: false linter: rules: avoid_types_on_closure_parameters: true avoid_void_async: true cancel_subscriptions: true close_sinks: true directives_ordering: true package_api_docs: true package_pre fi xed_library_names: true test_types_in_equals: true throw_in_ fi nally: true unawaited_futures: true unnecessary_statements: true use_super_parameters: true
  18.  Walking through “samples/analysis_options.yaml” include: package: fl utter_lints/ fl utter.yaml

    analyzer: strong-mode: implicit-casts: false implicit-dynamic: false linter: rules: avoid_types_on_closure_parameters: true avoid_void_async: true cancel_subscriptions: true close_sinks: true directives_ordering: true package_api_docs: true package_pre fi xed_library_names: true test_types_in_equals: true throw_in_ fi nally: true unawaited_futures: true unnecessary_statements: true use_super_parameters: true
  19.  Customizing static analysis https://dart.dev/guides/language/analysis-options

  20.  One more examples… analyzer: errors: avoid_print: error ྫ.avoid_printҧ൓ΛΤϥʔʹ analyzer:

    exclude: - “**/*.g.dart" - "**/*.freezed.dart" - test/*.dart ྫ.ର৅ύεͷϑΝΠϧΛνΣοΫର৅֎΁
  21. ·ͱΊ •FlutterΞϓϦ։ൃͰ΋ੵۃతʹLint׆༻ʂ •ެࣜϦϑΝϨϯεͷϓϥΫςΟε΋ࢀߟʹʂ •ඞཁʹԠͯ͡ɺϧʔϧΛదٓΧελϚΠζ 

  22.  Please let me know if you have any requests

    
 such as technical speeches, technical writings and so on. Facebook:http://fb.com/kanbara.kenichi Twitter:@korodroid LinkedIn:http://www.linkedin.com/in/korodroid Thank you so much