Certains outils de style de code recommandent ceci et je me souviens avoir vu des outils de ligne de commande unix avertir qu'ils manquaient une ligne vide.
Quel est le raisonnement pour avoir une ligne vide supplémentaire?
De nombreux outils anciens se comportent mal si la dernière ligne de données d'un fichier texte ne se termine pas par une combinaison nouvelle ligne ou retour chariot/nouvelle ligne. Ils ignorent cette ligne car elle se termine par ^ Z (eof).
Mis à part le fait que la position du curseur est meilleure lorsque vous passez à la fin d'un fichier dans un éditeur de texte.
Avoir une nouvelle ligne à la fin du fichier permet de vérifier simplement que le fichier n'a pas été tronqué.
Si vous essayez de concaténer deux fichiers texte, vous serez plus heureux si le premier se termine par un caractère de nouvelle ligne.
Un argument peut également être fait pour des différences plus propres si vous ajoutez au fichier en suivant le même raisonnement que Pourquoi Python autorise-t-il une fin de virgule dans la liste?
La ligne vide à la fin du fichier apparaît pour que la lecture standard du flux d'entrée sache quand mettre fin à la lecture et renvoie généralement EOF pour indiquer que vous avez atteint la fin. La majorité des langues peuvent gérer le marqueur EOF. C’est la raison pour laquelle à partir de l’époque, sous DOS, le marqueur EOF était la touche F6 ou Ctrl-Z, pour les systèmes * nix, il s’agissait de Ctrl-D.
La plupart des lecteurs, sinon tous, liront en réalité jusqu'au marqueur EOF, de sorte que la fonction de lecture de l'entrée de la bibliothèque d'exécution saura quand arrêter la lecture. Lorsque vous ouvrez le flux pour le mode Ajout, il efface le marqueur EOF et écrit au-delà, jusqu'à ce qu'une fermeture soit explicitement appelée dans laquelle il insérera le marqueur EOF à cet endroit.
Les outils les plus anciens attendaient une ligne vide suivie du marqueur EOF. De nos jours, les outils peuvent gérer la ligne vide et l’ignorer.
De même, lorsque vous modifiez le fichier et que vous ajoutez du code à la fin du fichier, diff (au moins git diff en configuration standard) indiquera que vous avez modifié la dernière ligne, alors que la seule chose que vous avez réellement faite, a ajouté un symbole de nouvelle ligne. Les rapports CVS deviennent donc moins pratiques.
Certaines langues définissent leur fichier d’entrée en termes de lignes d’entrée, où chaque ligne d’entrée est une série de caractères terminée par un retour à la ligne. Si leur grammaire est ainsi définie, la dernière ligne valide du fichier doit également être terminée par un retour à la ligne.
C'est à cause de la définition de ce qu'est un fichier texte. Lorsque vous créez un nouveau fichier texte dans n’importe quel environnement Unix, le contenu de ce fichier est le caractère nouvelle ligne '\ n'
Sans cela, le fichier n'est pas vraiment identifié comme un fichier texte. Une fois que nous avons ajouté du code à ce fichier texte, il s’agit de ne pas supprimer cette nouvelle ligne initiale qui définit un fichier texte lui-même .