Pular para o conteúdo principal

avoid_type_to_string

Saiba mais sobre a regra de lint avoid_type_to_string.

Estável
Lançado no Dart 2.12

Evite .toString() em código de produção, pois os resultados podem ser minificados.

Detalhes

#

FAÇA evitar chamadas a .toString() em código de produção, pois ele não retorna contratualmente o nome definido pelo usuário do Type (ou da classe subjacente). Compiladores em modo de desenvolvimento, em que o tamanho do código não é uma preocupação, usam o nome completo, mas compiladores em modo release frequentemente minificam esses símbolos.

RUIM:

dart
void bar(Object other) {
  if (other.runtimeType.toString() == 'Bar') {
    doThing();
  }
}
​
Object baz(Thing myThing) {
  return getThingFromDatabase(key: myThing.runtimeType.toString());
}

BOM:

dart
void bar(Object other) {
  if (other is Bar) {
    doThing();
  }
}
​
class Thing {
  String get thingTypeKey => ...
}
​
Object baz(Thing myThing) {
  return getThingFromDatabase(key: myThing.thingTypeKey);
}

Ativar

#

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

analysis_options.yaml
yaml
linter:
  rules:
    - avoid_type_to_string

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

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