メインコンテンツにスキップ

always_specify_types

安定版
修正が利用可能です

型アノテーションを指定します。

詳細

#

Flutter の スタイルガイド より

DO 型注釈を指定してください。

型が不明であることを指定する際に 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 ルールは、次のルールと互換性がありません。

有効にする

#

always_specify_types ルールを有効にするには、analysis_options.yaml ファイルの linter > rules の下に always_specify_types を追加してください。

analysis_options.yaml
yaml
linter:
  rules:
    - always_specify_types

代わりに、YAML マップ構文を使用してリンター ルールを構成している場合は、linter > rules の下に always_specify_types: true を追加してください。

analysis_options.yaml
yaml
linter:
  rules:
    always_specify_types: true