Рубрики

Не указывайте типы параметров в выражениях функций.

Анонимные функции почти всегда сразу передаются методу, принимающим обратный вызов какого-либо типа. Когда выражение функции создается в типизированном контексте, Dart пытается вывести типы параметров функции на основе ожидаемого типа. Например, когда вы передаете выражение функции в Iterable.map(), тип параметра вашей функции выводится на основе типа обратного вызова, который ожидает map():

// Хорошо
var names = people.map((person) => person.name);
// Плохо
var names = people.map((Person person) => person.name);

Если язык может вывести нужный тип параметра в выражении функции, то не аннотируйте.

В редких случаях окружающий контекст недостаточно точен, чтобы предоставить тип для одного или нескольких параметров функции. В этих случаях вам может понадобиться аннотировать.