Coding style 源代码末尾的新行

Coding style 源代码末尾的新行,coding-style,programming-languages,newline,Coding Style,Programming Languages,Newline,每当我在VisualStudio中打开代码编辑器时,在生成的代码末尾总是有一个空的新行。我通常删除它们,因为它们似乎与我无关。然而,最近我读了一段代码,其中说: \ No newline at end of file 这是最后一行。现在我认为源代码末尾的那些空的新行确实有一定的相关性。但它们是什么意思?它们提供了性能提升吗?没有,没有任何区别 一些编码约定说,有一个最后的换行是好的,有些说是不好的。 < p>在这里阅读更多关于C++的新行: 我认为Visual Studio和Git这样做主要是

每当我在VisualStudio中打开代码编辑器时,在生成的代码末尾总是有一个空的新行。我通常删除它们,因为它们似乎与我无关。然而,最近我读了一段代码,其中说:

\ No newline at end of file

这是最后一行。现在我认为源代码末尾的那些空的新行确实有一定的相关性。但它们是什么意思?它们提供了性能提升吗?

没有,没有任何区别


<>一些编码约定说,有一个最后的换行是好的,有些说是不好的。

< p>在这里阅读更多关于C++的新行:


我认为Visual Studio和Git这样做主要是为了与约定保持一致。

几乎唯一不同的是,如果您有一个没有换行符的文件,就像这样:

blah\n
bleh (no newline)
当您将其修改为:

blah\n
bleh\n
foo (no newline)
然后根据差异,你修改了两行-一行内容,另一行换行。。。这可能不是你想要的。再说一次,在现实中,你选择哪种方式并不重要。如果你加入了新行,你的差异会更干净一点

正如其他答案中提到的,它也会对一些预处理器产生影响——但这取决于您使用的语言


当然,这对性能没有任何影响。

有两件事让我更喜欢在文件末尾添加换行符:

  • 当查看文件末尾出现的差异时,代码检查会稍微容易一些(即,如果在文件末尾添加了一行,则前一行似乎已更改,而它只获得了一个换行)
  • 转到文件末尾(Windows中的Ctrl+end)总是将我放在同一列,而不是放在右边的某个意外位置
  • 可能重复的