要点
ワイはこの思想に則ってコーディングしています。
今後一緒にプログラムを組む人や、静的解析で悩んでる人に届くと嬉しいです。
analysis_optionsとは
Dart プログラミング言語のプロジェクトにおいて、静的解析(static analysis)の設定を指定するためのファイルです。
Dartは、静的型付け言語であり、静的解析はコードの品質やエラーの早期発見に役立ちます。
早速中身紹介
コピペ用
analyzer:
exclude:
- "pubspec.yaml"
- "**/*.g.dart"
- "**/*.freezed.dart"
- "**/oss_licenses_page.dart"
- "**/oss_licenses.dart"
errors:
invalid_annotation_target: ignore
include: package:pedantic_mono/analysis_options.yaml
linter:
rules:
- depend_on_referenced_packages
- prefer_relative_imports
大前提
pedantic_mono
静的解析したいって人がまず何も考えずに入れていいと思っています。
pedantic_mono
作成者様のサイトはこちら
過去にこの記事で詳細を書いています。
analyzer:exclude
除外対象は以下ファイルです。
- "**/*.g.dart"
- "**/*.freezed.dart"
- "pubspec.yaml"
- "**/oss_licenses_page.dart"
- "**/oss_licenses.dart"
上から順に、
・”**/*.g.dart”・”**/*.freezed.dart”
freezedライブラリで自動生成されるファイル
・”pubspec.yaml”
パッケージ管理とプロジェクトの設定を定義するためのファイル
・”**/oss_licenses_page.dart”・”**/oss_licenses.dart”
flutter_oss_licensesで生成されるファイルと、それを表示するためのファイル
となっています。
自動生成系や、そもそもその修正に時間を割く必要ある?というものは除外しています。
analyzer:errors
invalid_annotation_target: ignore
JsonKey()アノテーションの警告を消すために入れています。
include
include: package:pedantic_mono/analysis_options.yaml
先程のライブラリですね。
linter:rules
- depend_on_referenced_packages
- prefer_relative_imports
・depend_on_referenced_packages
pubspec.yamlに依存するライブラリは全て記載するようにしましょう
・prefer_relative_imports
インポートは絶対パスではなく、相対パスで指定してください。というものです。
ファイルの名前が長かったり、汚く見えてムカついて設定した経緯があります。
最後に
参考になりましたか?
更にいくつかこんなのも使える!ってものがあったらTwitterに連絡お願いします!