Какова причина отъезда дополнительной пустой строки в конце файла кода?

Eclipse и MyEclipse создают новые файлы Java с дополнительной пустой строкой после последней закрывающей фигурной скобки по умолчанию. Я думаю, что CodeWarrior сделал то же самое несколько лет назад, и что некоторые люди оставляют такие пустые строки в своем коде или намерением или ленью. Так, это, кажется, по крайней мере, умеренно широко распространенное поведение.

Как бывший редактор естественного языка - газеты редактирования копии, главным образом - я нахожу, что те строки похожи на небрежность или несчастные случаи, и я не могу думать о причине оставить их в исходных файлах. Я знаю, что они не влияют на компиляцию на языках C-стиля, включая Java. Там извлекает выгоду, к наличию тех строк, и если так, каковы они?

13
задан Ken Liu 29 March 2013 в 01:49
поделиться

3 ответа

Это исторический факт, связанный с распространенными ошибками в утилитах командной строки для обработки текста. В системе Unix существует множество программ для обработки текста, и большинство из них работают построчно. Могут быть, а могут и не быть какие-либо общие инструменты командной строки, которые неправильно работают, когда последняя строка не заканчивается новой строкой, но исторически это явление достаточно распространено, чтобы другие инструменты начали предупреждать о ситуации.

Последний раз я проверял, что vim на самом деле не может сохранить файл, не заканчивающийся символом новой строки, вплоть до добавления файла, независимо от того, помещаете вы его туда или нет.

11
ответ дан 2 December 2019 в 00:17
поделиться

Это не обязательно историческая причина, но это веская причина, ИМО:

Это не дает вам забыть поставить завершающую новую строку в конец вашего файла. Компиляторы обычно предупреждают об этом, и системы управления версиями тоже часто будут отображать строку как измененную, когда вы добавляете новую строку, чтобы избавиться от предупреждения компилятора.

Короче говоря, это снижает вероятность шума и ненужных различий SCM.

1
ответ дан 2 December 2019 в 00:17
поделиться

AFAIK, хорошей практикой является то, что каждая строка заканчивается символом новой строки, потому что когда код разбирается, его можно прочитать с помощью одной простой функции, которая разделит файл на строки в соответствии с этими символами новой строки. Без пустой строки и, следовательно, последней строки, завершенной символом новой строки, вы потеряете все символы на этой строке.

3
ответ дан 2 December 2019 в 00:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: