Estou fazendo o curso de Flutter e em praticamente todas as declarações de variáveis feitas pelo instrutor utiliza-se o modificador "final".
Por que? Alguma exigência do Dart/Flutter? É uma boa prática?
Exemplo retirado de uma das aulas.
Future<List<Contact>> findAll() async {
final Database db = await getDatabase();
final List<Map<String, dynamic>> result = await db.query('contacts');
final List<Contact> contacts = List();
for (Map<String, dynamic> row in result) {
final Contact contact = Contact(
row['id'],
row['name'],
row['account_number'],
);
contacts.add(contact);
}
return contacts;
}