【Flutter】秘伝analysis_options.yamlを公開

Flutter

要点

ワイはこの思想に則ってコーディングしています。

今後一緒にプログラムを組む人や、静的解析で悩んでる人に届くと嬉しいです。

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

pedantic_mono | Dart package
Recommended lints for Flutter apps, packages, and plugins to encourage good coding practices.

作成者様のサイトはこちら

過去にこの記事で詳細を書いています。

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に連絡お願いします!

Buy me a coffee!

Flutterアプリ開発
シェアする
sogaをフォローする
タイトルとURLをコピーしました