Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Flutter Lintツールを完全に理解した
Search
Kenichi Kambara
August 25, 2022
Technology
0
420
Flutter Lintツールを完全に理解した
Flutter Lintツールを完全に理解した
完全に理解したTalkの32回目開催回のトーク資料です。
#flutter
#flutterjp
#完全に理解したTalk
Kenichi Kambara
August 25, 2022
Tweet
Share
More Decks by Kenichi Kambara
See All by Kenichi Kambara
[YUMEMI.grow Mobile #12]UX Improvements on Flutter Apps Part 2
korodroid
0
23
[potatotips #86]UX Improvements on Flutter Apps Part 1
korodroid
0
32
Supporting RTL on Flutter Apps 7 Development Tips
korodroid
0
35
[DevFestKC]Go Global with Flutter Apps 101
korodroid
0
38
[ABC2023A]Go Global with Flutter Apps
korodroid
0
27
[potatotips #85]Deep Dive into RTL on Flutter Apps (Short ver.)
korodroid
0
40
Supporting RTL on Flutter Apps
korodroid
0
38
[potatotips #84]Supporting Large Screen on Flutter
korodroid
0
86
7 Tips for Wear OS Apps Development
korodroid
0
42
Other Decks in Technology
See All in Technology
Databricks における 『MLOps』
databricksjapan
2
170
Azureの基本的な権限管理の勉強会
yhana
0
260
Azure犬駆動開発の記録/GlobalAzureFukuoka2024_20240420
nina01
1
210
継続的な改善 x ⾮連続的な進化
sansantech
PRO
3
150
コードを書く隙間を見つけて生きていく技術/Findy 思考の現在地
fujiwara3
27
5.9k
Terraformあれやこれ/terraform-this-and-that
emiki
8
1.4k
20分で完全に理解するGrafanaダッシュボード
hamadakoji
3
460
家族アルバム みてねにおけるGrafana活用術 / Grafana Meetup Japan Vol.1 LT
isaoshimizu
1
600
ChatGPT for IT Service Management (IT Pro)
dahatake
7
1.6k
Postman v10リリース後を振り返る / Looking back at Postman v10 after release
yokawasa
1
160
JSON攻略法.pdf
miyakemito
8
5k
検証を通して見えてきたTiDBの性能特性
lycorptech_jp
PRO
6
3.7k
Featured
See All Featured
Designing on Purpose - Digital PM Summit 2013
jponch
110
6.5k
A designer walks into a library…
pauljervisheath
200
23k
Fashionably flexible responsive web design (full day workshop)
malarkey
398
65k
Being A Developer After 40
akosma
57
580k
Design by the Numbers
sachag
274
18k
The Straight Up "How To Draw Better" Workshop
denniskardys
227
130k
Intergalactic Javascript Robots from Outer Space
tanoku
266
26k
Facilitating Awesome Meetings
lara
42
5.6k
Keith and Marios Guide to Fast Websites
keithpitt
408
22k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
30
6k
Code Review Best Practice
trishagee
55
15k
Into the Great Unknown - MozCon
thekraken
10
990
Transcript
2022.08.25 ਆݪ ݈Ұ (@korodroid) Flutter LintπʔϧΛશʹཧղͨ͠ ʮʓʓશʹཧղͨ͠ʯTalkɹ#32
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)
About my Flutter product (Private works) Sekaiphone Pro(Flutter/Kotlin/Swift) MyToDo(Flutter)
Lintπʔϧ(੩తղੳ)Λ׆༻͢ΔϝϦοτ(ྫ) 1. જࡏతͳόάͷݕग़ 2. ϨϏϡʔ࡞ۀͷෛՙܰݮ 3. ΞϓϦͷύϑΥʔϚϯεվળ
Flutter͚Lintπʔϧ( fl utter_lints) https://pub.dev/packages/ fl utter_lints
Walking through “ fl utter_lints” ↑ඞཁʹԠͯ͡ɺ࠷৽൛ʹߋ৽
Walking through “analysis_options.yaml”
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
# 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”
Walking through “Linter for Dart” https://dart-lang.github.io/linter/lints/ productionίʔυʹ͓͚Δprint੍
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
Walking through “recommended.yaml”
Walking through “Linter for Dart” ྫ.Collection͕ಛఆཁૉΛؚΉ͔൱͔ͷఆ ྫ.ΠϯελϯεੜͷͨΊͷnewར༻੍
Walking through “recommended.yaml”
Walking through “core.yaml”
Adding Custom Rules https://github.com/ fl utter/samples
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
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
Customizing static analysis https://dart.dev/guides/language/analysis-options
One more examples… analyzer: errors: avoid_print: error ྫ.avoid_printҧΛΤϥʔʹ analyzer:
exclude: - “**/*.g.dart" - "**/*.freezed.dart" - test/*.dart ྫ.ରύεͷϑΝΠϧΛνΣοΫର֎
·ͱΊ •FlutterΞϓϦ։ൃͰੵۃతʹLint׆༻ʂ •ެࣜϦϑΝϨϯεͷϓϥΫςΟεࢀߟʹʂ •ඞཁʹԠͯ͡ɺϧʔϧΛదٓΧελϚΠζ
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