如果注释适用于多行代码,那么我会在这些行的最后一行之后放置空格,除非有其他语法可以将其分解(例如块的结尾)。
任何我正在做“某事”的地方都需要几行代码,紧接着是“其他事情”,然后我要么抽象成单独的函数,要么放置注释[*]。因此,代码行通常以短块组合在一起,除非流程控制使其(在我看来)不言自明。
我确实有点关心空白,但实际上我更关心的是评论。如果几行代码一起做了一些特定的事情,并且它没有被作为一个函数取出,那么我想看看那个东西是什么的英文描述。这样我就可以看到函数的“步骤”真正加起来是正确的结果,然后看看每个步骤都做了它声称要做的事情。
在类中,我有时会在方法/成员函数之间放置空格,有时则不会。在 C++ 中,我在访问说明符之前放置了空格。
我在类之间(有时不适用于 Java 中的匿名内部类)和类外的函数之间放置空格。
除此之外,我的代码在垂直方向上非常密集。我几乎从不使用多个空行,即使在分隔头文件等的部分时也是如此。我更喜欢blankline-commentline-blankline 而不是blankline-blankline,即使注释行最终成为完全平庸的东西,如“辅助函数”。我不喜欢函数之间有巨大垂直空白的样式 - 如果它们是如此分离以至于你不想同时在屏幕上看到它们,我会说要么将它们放在不同的文件中,要么用 Doxygen 填补空白/Javadoc 注释。
[*] 在我签入的版本中。我通常编写或多或少没有注释的代码,然后编译它,运行快速测试,注释它,运行适当的测试,提交它。这通常会改变一点,有时会改变很多。例如,如果我正在对预先精确定义的算法进行编码,或者对实现“显而易见”的规范进行编码,我可能会先写注释,然后再写代码。