Pular para o conteúdo principal

no_runtimetype_tostring

Saiba mais sobre a regra de lint no_runtimetype_tostring.

Estável
Lançado no Dart 2.8

Evite chamar toString() em runtimeType.

Detalhes

#

Chamar toString em um tipo de tempo de execução é uma operação não trivial que pode prejudicar o desempenho. É melhor evitá-la.

RUIM:

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

BOM:

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

Esta lint tem algumas exceções, em que o desempenho não é um problema ou em que a informação real de tipo é mais importante que o desempenho:

  • em uma asserção
  • em uma expressão throw
  • em uma cláusula catch
  • em uma declaração de mixin
  • em uma declaração de classe abstrata

Ativar

#

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

analysis_options.yaml
yaml
linter:
  rules:
    - no_runtimetype_tostring

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

analysis_options.yaml
yaml
linter:
  rules:
    no_runtimetype_tostring: 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ê.