コンテンツ

one_member_abstracts

コンテンツ

単純な関数で済む場合は、単一メンバーの抽象クラスを定義しないでください。

この規則はDart 2.0から利用可能です。

詳細

#

効果的なDartより

単純な関数で済む場合は、単一メンバーの抽象クラスを定義するのを避けてください

Javaとは異なり、Dartにはファーストクラス関数、クロージャ、およびそれらを使用するための素晴らしい軽量構文があります。コールバックのようなものが必要な場合は、関数を使用してください。クラスを定義していて、それが`call`や`invoke`のような意味のない名前の単一の抽象メンバーしか持っていない場合は、おそらく関数が必要なだけでしょう。

良くない例

dart
abstract class Predicate {
  bool test(item);
}

良い例

dart
typedef Predicate = bool Function(item);

使い方

#

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

analysis_options.yaml
yaml
linter:
  rules:
    - one_member_abstracts