Lignes longues en Dart
1. Quand utiliser cette compétence
Utilisez cette compétence quand :
- Vous écrivez du code Dart qui pourrait dépasser la limite de 80 colonnes.
- Vous refactorisez du code pour respecter le lint
lines_longer_than_80_chars. Référence : https://dart.dev/tools/linter-rules/lines_longer_than_80_chars
Découverte
Pour trouver les lignes qui dépassent la limite :
Analyse automatisée
Le moyen le plus fiable de trouver les lignes longues est d'utiliser l'analyseur Dart :
- Commande :
dart analyze - Lint :
lines_longer_than_80_chars
Recherche manuelle
Pour rechercher les lignes longues à l'aide d'une regex :
- Regex :
^.{81,}$(Correspond à toute ligne ayant 81 caractères ou plus).
2. Lignes directrices
Formatage d'abord
Exécutez toujours dart format avant de casser manuellement les lignes longues. Le formateur
corrige souvent automatiquement les lignes longues, en particulier dans le code généré, et
applique les règles de style Dart standard.
Commentaires de code
Cassez les longs commentaires de code (//) proprement aux limites des mots pour
assurer que les lignes ne dépassent pas 80 caractères. Maintenez un formatage serré et
évitez l'espace vertical inutile.
Commentaires de documentation (///)
- Appliquez les mêmes règles de casse de ligne que pour les commentaires de code.
- Évitez de casser les blocs de liens markdown comme
[name]ou[text](http://example.com)sur plusieurs lignes. Placez-les sur leur propre ligne s'ils dépassent la limite. - Commencez les commentaires de documentation avec une phrase de résumé unique, suivie d'une ligne vide avant le reste du commentaire. Il est acceptable de casser cette première phrase sur plusieurs lignes pour respecter la limite de 80 colonnes.
- Évitez les références non résolues ou les phrases en suspens.
Longues chaînes de caractères
- Utilisez des littéraux de chaîne adjacents (par exemple,
'part 1 ' 'part 2') pour casser les longues chaînes. Cassez aux limites des mots. - Si une chaîne sur une seule ligne contient des caractères de nouvelle ligne (
\n) ou s'il y a des instructionsprintconsécutives, envisagez de migrer vers un littéral de chaîne multi-ligne (''').
Formatage et analyse après les modifications
- Exécutez
dart formatetdart analyzeaprès avoir apporté des modifications. - Soyez conscient que la division des chaînes peut déclencher de nouveaux lints (par exemple,
prefer_single_quotessi une chaîne entre guillemets doubles est divisée en parties qui ne contiennent plus de guillemets simples).
3. Exemples
Lien de commentaire de documentation
À éviter :
/// This is a long doc comment that contains a link to [a very long
/// URL](http://example.com/very/long/url/that/exceeds/eighty/chars).
Préféré :
/// This is a long doc comment that contains a link to [a very long URL][ref].
///
/// [ref]: http://example.com/very/long/url/that/exceeds/eighty/chars
Littéraux de chaîne adjacents
Préféré :
final longString = 'This is a very long string that needs to be broken '
'across multiple lines to stay under the limit.';
Migration de chaîne multi-ligne
À éviter :
print('This is line 1\nThis is line 2 that is also quite long\nThis is line 3 which makes the whole thing exceed eighty characters');
Préféré :
print('''This is line 1
This is line 2 that is also quite long
This is line 3 which makes the whole thing exceed eighty characters''');