目次

always_specify_types

型注釈を指定します。

このルールは Dart 2.0 以降で使用できます。

このルールには クイックフィックス が用意されています。

非互換ルール: avoid_types_on_closure_parameters, omit_local_variable_types, omit_obvious_local_variable_types

詳細

#

flutter リポジトリのスタイルガイド より

型注釈を必ず指定してください

型が不明であることを指定する場合や、型注釈を省略するショートハンドは、var を避けてください。型が不明であることを明示的に示したい場合は dynamic を使用してください。==hashCode を実装するオブジェクトが必要であることを明示的に示したい場合は Object を使用してください。

悪い例

dart
var foo = 10;
final bar = Bar();
const quux = 20;

良い例

dart
int foo = 10;
final Bar bar = Bar();
String baz = 'hello';
const int quux = 20;

注:meta パッケージの @optionalTypeArgs アノテーションを使用すると、API 作成者は、型が動的である必要があるが、宣言がオプションとして扱われるべき型パラメーターを特別に扱うことができます。たとえば、型パラメータをオプションとして扱いたい Key オブジェクトがあるとします。 @optionalTypeArgs を使用すると、次のようになります。

dart
import 'package:meta/meta.dart';

@optionalTypeArgs
class Key<T> {
 ...
}

void main() {
  Key s = Key(); // OK!
}

使い方

#

always_specify_types ルールを有効にするには、analysis_options.yaml ファイルの linter > rules の下に always_specify_types を追加します

analysis_options.yaml
yaml
linter:
  rules:
    - always_specify_types