#flutter #flutterjp #flutterdev ##shibuya_apk
2023.04.21ਆݪ ݈Ұ (@korodroid)Writing better Flutter Code with Flutter Lint / Part2shibuya.apk #41
View Slide
ࣗݾհ•ۀɿϞόΠϧΞϓϦ։ൃ/ٕज़ࢧԉ/จԽৢ׆ಈ•ߨԋɿΠϕϯτొஃ(ւ֎14ճɺࠃ100ճ+)•ࣥචɿ7•झຯɿϥϯχϯά/ӳձ/ΞϓϦ։ൃਆݪ ݈Ұ (NTTςΫϊΫϩε/ΤόϯδΣϦετ)@korodroid
ॳΊͯͷshibuya.apkొஃ(8લ…)
About my Flutter product (Private works)Sekaiphone Pro(Flutter/Kotlin/Swift) MyToDo(Flutter)
Part1ͷ͓͞Β͍
Lintπʔϧ(੩తղੳ)Λ׆༻͢ΔϝϦοτྫ1. જࡏతͳόάͷݕग़2. ϨϏϡʔ࡞ۀͷෛՙܰݮ3. ΞϓϦͷύϑΥʔϚϯεվળ
Flutter͚Lintπʔϧ(flutter_lints)https://pub.dev/packages/flutter_lints
Walking through “flutter_lints”↑ඞཁʹԠͯ͡ɺ࠷৽൛ʹߋ৽
Walking through “flutter.yaml”# Recommended lints for Flutter apps, packages, and plugins.include: package:lints/recommended.yamllinter:rules:- avoid_print- avoid_unnecessary_containers- avoid_web_libraries_in_flutter- 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_flutter_colors- use_key_in_widget_constructors
Walking through “Linter for Dart”https://dart-lang.github.io/linter/lints/productionίʔυʹ͓͚Δprint੍
Example: “avoid_print”
͔͜͜ΒPart2
Customizing Ruleshttps://github.com/flutter/samples
Walking through “Sample Rules”include: package:flutter_lints/flutter.yamlanalyzer:language:strict-casts: truestrict-inference: truelinter:rules:avoid_types_on_closure_parameters: trueavoid_void_async: truecancel_subscriptions: trueclose_sinks: truedirectives_ordering: truepackage_api_docs: truepackage_prefixed_library_names: truetest_types_in_equals: truethrow_in_finally: trueunawaited_futures: trueunnecessary_statements: trueuse_super_parameters: trueinclude: package:analysis_defaults/flutter.yaml֤sampleͷanalysis_options.yaml
include: package:flutter_lints/flutter.yamlanalyzer:language:strict-casts: truestrict-inference: truelinter:rules:avoid_types_on_closure_parameters: trueavoid_void_async: truecancel_subscriptions: trueclose_sinks: truedirectives_ordering: truepackage_api_docs: truepackage_prefixed_library_names: truetest_types_in_equals: truethrow_in_finally: trueunawaited_futures: trueunnecessary_statements: trueuse_super_parameters: trueinclude: package:analysis_defaults/flutter.yaml֤sampleͷanalysis_options.yamlWalking through “Sample Rules”
Customizing static analysishttps://dart.dev/guides/language/analysis-options
Customizing Rules↑ඞཁʹԠͯ͡ɺΧελϚΠζ
Example1analyzer:errors:avoid_print: errorྫ.avoid_printҧΛΤϥʔʹ
Example2linter:rules:avoid_print: falseྫ.avoid_printҧΛνΣοΫର֎
Example3analyzer:exclude:- “**/*.g.dart"- "**/*.freezed.dart"- test/*.dartྫ.ରύεͷϑΝΠϧΛνΣοΫର֎
·ͱΊ•ެࣜϦϑΝϨϯεͷϓϥΫςΟεΛࢀߟʹʂ•Linter for DartɺݴޠֶशͷಡΈͱ͓ͯ͢͢͠Ίʂ•ඞཁʹԠͯ͡ɺϧʔϧΛదٓΧελϚΠζ
Please let me know if you have any requests such as technical speeches, technical writings and so on.Facebook:http://fb.com/kanbara.kenichiTwitter:@korodroidLinkedIn:http://www.linkedin.com/in/korodroidThank you so much