目次

close_sinks

dart:coreSinkインスタンスを閉じます。

このルールは、Dart 2.0から利用可能です。

詳細

#

必ずdart:coreSinkインスタンスに対してcloseを呼び出してください。

Sinkインスタンスを閉じると、メモリリークと予期しない動作を防ぐことができます。

悪い例

dart
class A {
  IOSink _sinkA;
  void init(filename) {
    _sinkA = File(filename).openWrite(); // LINT
  }
}

悪い例

dart
void someFunction() {
  IOSink _sinkF; // LINT
}

良い例

dart
class B {
  IOSink _sinkB;
  void init(filename) {
    _sinkB = File(filename).openWrite(); // OK
  }

  void dispose(filename) {
    _sinkB.close();
  }
}

良い例

dart
void someFunctionOK() {
  IOSink _sinkFOK; // OK
  _sinkFOK.close();
}

既知の制限事項

このルールは、Sinkのインスタンス化とクロージャのすべてのパターンを追跡するわけではありません。linter#1381で詳細情報を確認してください。

使用方法

#

close_sinksルールを有効にするには、analysis_options.yamlファイルのlinter > rulesセクションにclose_sinksを追加します。analysis_options.yaml

analysis_options.yaml
yaml
linter:
  rules:
    - close_sinks