Ответ 1
W391 - это строка blank, то есть два последовательных \n
s. Не существует конфликта.
Насколько я знаю в unix, хорошая практика всегда иметь пустую строку в конце файла - или, говоря словами: каждая строка должна заканчиваться на \n
.
Проверяя код Python на PEP8, я заметил, что он также указывает, что в конце файла должно быть \n
:
W292 no newline at end of file
JCR: The last line should have a newline.
Что странно, он конфликтует с W391:
W391 blank line at end of file
JCR: Trailing blank lines are superfluous.
Okay: spam(1)
W391: spam(1)\n
Как это должно быть? Должен ли я иметь пустую строку в конце файла или нет?
W391 - это строка blank, то есть два последовательных \n
s. Не существует конфликта.
Это то, о чем говорит W391:
print 'last line'
Это неверно в соответствии с W292:
print 'last line'
Что правильно:
print 'last line'
В Windows\n - разделитель между строками, а в Linux\n - знак окончания на любой строке. Vim не сделал ничего плохого, чтобы добавить '\n' в конец строки на платформе Linux, но следуя определению ОС.