我假设这里的每个人都熟悉所有文本文件应以换行符结尾的格言.多年来我一直都知道这个"规则",但我一直在想 - 为什么?
我很好奇为什么在Python中列表中的尾随逗号是有效的语法,而且似乎Python只是忽略它:
>>> ['a','b',]
['a', 'b']
Run Code Online (Sandbox Code Playgroud)
这是有道理的,当因为它的元组('a')和('a',)是两个不同的东西,但在名单?
在我当前的项目中,我们总是在java源文件的末尾插入空的新行.我们还使用CheckStyle(具有错误级别)强制执行此操作.
我很长一段时间都在寻找这个话题,但不幸的是我找不到任何令人信服的理由.似乎其他开发人员对此非常漠不关心,因为他们只是在eclipse格式化程序中选中了一个复选框,并且它是自动完成的.但我仍然不知道为什么需要它,为什么它可能很重要).所以我的问题是:
为什么Java源文件末尾的空行需要?它是当前的需求还是过去的遗留物,在目前的代码库中是不可取的?
这是一个有效的 C++ 行吗?它是什么意思?
#
Run Code Online (Sandbox Code Playgroud)
这个如何:
# // a comment
Run Code Online (Sandbox Code Playgroud)
最近的编译器似乎忽略了它,没有错误也没有警告。
它“什么都不做”吗?我有一个头文件,其中在存在此类行的情况下使用 g++ 7.4.0 编译时,“兼容性”部分会爆炸。它似乎不会让编译器看到这条线被排除在非活动#if分支中。
注意:Travis CI 上的 Debian Bionic(撰写本文时)上的 gcc 7.4.0 被这些行绊倒了。