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

no_runtimeType_toString

安定版

runtimeType に対して toString() を呼び出すことを避けてください。

詳細

#

実行時型に対して toString を呼び出すことは、パフォーマンスに悪影響を与える可能性のある、単純ではない操作です。避けるのが賢明です。

悪い例

dart
class A {
  String toString() => '$runtimeType()';
}

良い例

dart
class A {
  String toString() => 'A()';
}

このリンターには、パフォーマンスが問題にならない場合や、実際の型情報がパフォーマンスよりも重要な場合など、いくつかの例外があります。

  • アサーション内
  • throw 式内
  • catch 節内
  • Mixin 宣言内
  • 抽象クラス宣言内

有効にする

#

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

analysis_options.yaml
yaml
linter:
  rules:
    - no_runtimeType_toString

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

analysis_options.yaml
yaml
linter:
  rules:
    no_runtimeType_toString: true