Open4
analysis_options.yamlとは?
静的解析ツール(Dart Analyzer)の設定ファイルである。
設定可能な項目のリストを調べていく。
-
linter: rules:
セクション:
linter:
rules:
- camel_case_types # クラス名はキャメルケースを強制 (例: MyClass は OK、my_class は NG)
- avoid_print # print文の使用を警告 (本番環境では適切なログ機能を使用すべき)
- prefer_single_quotes # 文字列はシングルクォートを推奨 ('hello' は OK、"hello" は警告)
-
analyzer: exclude:
セクション:
analyzer:
exclude:
- "**/*.g.dart" # .g.dart で終わるすべての自動生成ファイルを解析対象から除外
# ** はすべてのディレクトリを意味する
-
analyzer: errors:
セクション:
errors:
unused_local_variable: warning # 使用されていないローカル変数を警告レベルで通知
missing_return: error # return文が必要な場所で欠落している場合をエラーとして扱う
# エラーレベルの種類:
# - error: エラーとして扱う(ビルドが失敗)
# - warning: 警告として扱う(ビルドは成功)
# - info: 情報として表示
# - ignore: 完全に無視
-
analyzer: language:
セクション:
language:
strict-inference: true # 型推論をより厳密に行う
# var x = 1; のような暗黙的な型推論をより厳密にチェック
strict-raw-types: true # ジェネリック型の使用をより厳密にチェック
# List<dynamic> の代わりに List<int> のような具体的な型の指定を促す
- よく使用される追加のルール例:
linter:
rules:
- always_declare_return_types # 関数の戻り値の型を常に明示
- avoid_empty_else # 空のelse文を禁止
- avoid_relative_lib_imports # パッケージ内の相対インポートを避ける
- sort_constructors_first # コンストラクタをクラス定義の先頭に配置
- prefer_const_constructors # 可能な場合はconstコンストラクタを使用
上記のような例で設定できる。