PEP8: conflit entre W292 et W391
autant que je sache dans unix c'est une bonne pratique d'avoir toujours une ligne blanche à la fin du fichier - ou de la mettre en d'autres termes: chaque ligne devrait se terminer par n
.
en vérifiant mon code python avec PEP8 j'ai remarqué qu'il indique aussi qu'il devrait y avoir n
à la fin du fichier:
W292 no newline at end of file
JCR: The last line should have a newline.
Ce qui est étrange, il est en conflit avec W391:
W391 blank line at end of file
JCR: Trailing blank lines are superfluous.
Okay: spam(1)
W391: spam(1)n
comment ça devrait être? Dois-je avoir une ligne vide à la fin du fichier ou pas?
3 réponses
W391 est un vide ligne, c'est-à -deux fois de suite\n
s. Il n'y a pas de conflit.
C'est ce dont W391 parle:
print 'last line'
C'est faux, selon W292:
print 'last line'
Ce qui est correct est:
print 'last line'
dans Windows ' \n 'est le séparateur entre les lignes, mais dans linux' \n ' est le signe de fin sur n'importe quelle ligne. Vim n'a rien de mal à ajouter '\n' à la fin des lignes de la plate-forme linux, mais en suivant la définition du système d'exploitation.