Pular para o conteúdo principal

close_sinks

Saiba mais sobre a regra de lint close_sinks.

Estável

Feche instâncias de Sink do dart:core.

Detalhes

#

FAÇA invocar close em instâncias de Sink do dart:core.

Fechar instâncias de Sink evita vazamentos de memória e comportamentos inesperados.

RUIM:

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

RUIM:

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

BOM:

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

BOM:

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

Limitações conhecidas

Esta regra não rastreia todos os padrões de instanciação e fechamento de Sink nem closures. Consulte sdk#57882 para mais informações.

Ativar

#

Para ativar a regra close_sinks, adicione close_sinks em linter > rules no seu arquivo analysis_options.yaml:

analysis_options.yaml
yaml
linter:
  rules:
    - close_sinks

Se você usa a sintaxe de mapa YAML para configurar as regras de lint, adicione close_sinks: true em linter > rules:

analysis_options.yaml
yaml
linter:
  rules:
    close_sinks: true

Encontrou essa página sem tradução ou que precisa de correção? Abra uma issue e nos ajude a manter esse site em PT-BR para ajudar pessoas como você.