【 Flutter 】Flutter を 基礎 から 学習 ( スタートガイド編 ) part10 Linter

【 Flutter 】Flutter を 基礎 から 学習 ( スタートガイド編 ) part03 環境構築
基礎 から 学ぶ Flutter 」という書籍で  学習 したことを ブログでアウトプットしていこうと思います。今回は スタートガイド編 ( part10 )です。

前回はAndroid Studioに自動整形を適用しました。

【 Flutter 】Flutter を 基礎 から 学習 ( スタートガイド編 ) part09 コード自動フォーマット設定

今回はコーディングルール(?)を強制してくれるツールを導入します。

目次

Linter

Android Studioでは「Linter」というツールを利用することができるそうです。

Linterというのは不具合につながりそうなあやしいコードを発見し警告してくれるのだそうです。

古くから愛用されてきたFindBugsのようなものでしょうかね。

コードのルールをプロジェクトルートに配備するだけでしようできるそうです。

このルールを適用していきたいと思います。

Android Studioを起動しmy_appを開きます。

左端のProjectというタブをクリックするとmy_appプロジェクト(フォルダ)に存在するファイルを確認できます。

分かりづらいですが画像でマークしている下アイコンをクリックしてファイルビューをProjet Source Files変更をしておきます。
Androidという項目をクリックすると元のファイルビューに戻ります。

著者のページより、ルールファイル(analysis_options.yaml)を取得します。
取得したファイルをプロジェクトルートのanalysis_options.yamlを取得した著者のページのものに書き換え保存します。

pubspec.yamlに以下を追記します。

dev_dependencies:
  pedantic : any

右上のPub upgradeをクリックします。

下ペインにログが出ているので確認しました。
ちゃんと適用されたようですね。これで完了でしょうか?

D:\flutter\bin\flutter.bat --no-color pub upgrade
╔════════════════════════════════════════════════════════════════════════════╗
║ A new version of Flutter is available!                                     ║
║                                                                            ║
║ To update to the latest version, run "flutter upgrade".                    ║
╚════════════════════════════════════════════════════════════════════════════╝

Resolving dependencies...
  async 2.8.1 (2.8.2 available)
  boolean_selector 2.1.0
  characters 1.1.0
  charcode 1.3.1
  clock 1.1.0
  collection 1.15.0
  cupertino_icons 1.0.3
  fake_async 1.2.0
  flutter 0.0.0 from sdk flutter
  flutter_lints 1.0.4
  flutter_test 0.0.0 from sdk flutter
  lints 1.0.1
  matcher 0.12.10 (0.12.11 available)
  meta 1.7.0
  path 1.8.0
+ pedantic 1.11.1
  sky_engine 0.0.99 from sdk flutter
  source_span 1.8.1
  stack_trace 1.10.0
  stream_channel 2.1.0
  string_scanner 1.1.0
  term_glyph 1.2.0
  test_api 0.4.2 (0.4.3 available)
  typed_data 1.3.0
  vector_math 2.1.0
Changed 1 dependency!
3 packages have newer versions incompatible with dependency constraints.
Try `flutter pub outdated` for more information.
Process finished with exit code 0

慣れない作業は大変ですね😅

今日はここまで!