我打算在这个问题不是迂腐的,而是探索一个被忽略的轴线的一个重要的主题(使用的空白).许多辩论,并照顾已投入使用的水平的空白表后一个条件,一个空间之间的一个如果括号内,等等。事实上,该问题被认为是很重要和有争议的是,不仅做一些公司已规则和标准,但一些公司即使有规定禁止它的讨论。

为什么,考虑到国家的水平的空白,这一讨论的垂直空白是这样死的问题?为什么是的 x 更重要的 y?几天前,我注意到,当我阅读码,我的,没有思想,经常调整垂直分组的发言。具有读其他国家的人民代码现在,着眼于垂直的空白,我注意到几种模式,因此我要求计算器:

  • 是什么硬质和柔软的规则应用于垂直的空白?
  • 是否有任何垂直的空白使用,通常被认为是很不好或非常良好做法?
  • 你有没有发现读码"正确的"纵向的空白,帮助在了解吗?
  • 没有人比其他的 排版 和我照顾吗?
有帮助吗?

解决方案

我看垂直空间代码我就是这么看的段落编写的散文。正如一段意味着集团的句子在一起,有一个共通点或想法,行有关的应组合在一起。

总的目标是提高代码的可读性。只是作为文章,没有任何段落将难于阅读,所以是代码没有任何纵的空间。而且,正如有的散文,还有一个之间的平衡构成第过短期或过长。但最终,这主要归结为个人的风格和偏好。

其他提示

我认为最重要的事情是集团的一个合乎逻辑的步骤一起,例如:

foo.setBar(1);
foo.setBar2(2);
foo.writeToDatabase();

bar.setBar(1)
bar.setBaz(2);
bar.writeToDatabase();

这样的代码的更易于阅读,并且是更具说明性的,对我来说无妨。

如果一个集团的声明逻辑上是相关的,我给它一张空白线之前和之后。这种分离的帮助,如果我需要进行重构,它成功以后。

作为双空白:如果东西是不同的,你真的应该考虑使这一功能。

如果一个评论也适用于若干行的代码,然后我把空白之后的最后的那些线条, 除非 还有其他的语法,以打破的事情(如结束一块)。

任何地方,我做的"东西",这需要几个代码行,随后立即通过"别的事情",那么我要么抽象成独立的职能或其他地方的评论[*].这样的代码行一般结束组合在一起,在短块,除了流量控制,使它(在我的意见)不言自明的。

我不关心一些关于空白的,但实际上它的评论我关心的更多。如果一些代码行一起做一些具体的事情,它不采取作为一个功能,那么我想看看一个英文描述的什么事情。这样我可以看到,"步骤"的功能真正添加到正确的结果,然后再看看,每个步骤没有什么要求做的事。

在课,有时候我会放空白的方法之间/成员的功能,并且有时不知道。C++我把空白之前访问符。

我把空白之间的类(有时不对匿名内部课程中Java)之间的功能以外的课程。

此外,我的代码是漂亮的垂直密。我几乎从来没有使用多个空行,即使当分离的部分的标题的文件等。我喜欢blankline-commentline-blankline而不是blankline-blankline,即使commentline结束正在平庸的东西完全像"辅助功能"。我不喜欢的风格,它有巨大的垂直的空白之间的功能-如果他们如此独立的,你不想看到他们都在屏幕的同时,我想说的或者把它们放在不同的文件或填补的差距与Doxygen/如果是的话,为什么不试的评论意见。

[*]的版本我检查。我通常会写代码或多或少不意见,然后汇编,快速运行测试、评论、运行适当测试,提交。经常改变,有时很多。例如,如果我编码算法,它是精确定义的提前,或者一个规范那里实施的是"明显",我也许会编写的评论意见,然后再编码。

已经知道,几十年来,这一程序的能力,以了解代码一般限于通过多少他可以看到在一段时间。(例如,见Weinberg,"心理学的计算机程序设计",一个老歌-但是-礼物.) 在老天的纸的清单,编程人员会拿大表和传播多页的清单。如今,屏幕的房地产是有点好过日子的24x80,但我仍然倾向于尽量减少使用垂直的空白,因为很多空行,采取画面的空间可以显示我的实际代码。

我当然关心而且往往集团正确地(至少对我的眼睛)与空行,在适当情况下。屡次这意味着很多空行,但总的来说,我考虑的代码的更清晰比一切都挤在一起。就像周围的空间运营商是一个非常好的事情,所以是空白线周围,从逻辑上分组发言。

超过一个单一的空白行一次看起来一点的地方,虽然。

我发现很难阅读,如果代码是隔开的不规则的垂直。我甚至走得更远,因为要删除括号不需要了,或如果是短块,例如ifs或佛斯,放在同样的路线。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top