小编Gaz*_*nyx的帖子

文体问题:使用白色空间

对于我的代码的美学,我有一种特别愚蠢的不安全感......坦率地说,我对白色空间的使用很尴尬.我的代码看起来像个极客; 不是很可怕,但很尴尬,你感觉不好盯着,但不能把目光移开.

我只是不确定何时应该留空或使用行尾注释而不是上面的注释.我更喜欢在我的代码之上发表评论,但有时候打破三个字评论的流程似乎很奇怪.有时在代码块之前和之后抛出一个空行就像在一个平滑的代码段中加速.例如,在嵌套循环中,在中心分隔三行或四行代码块几乎消除了缩进的视觉效果(我注意到K&R护腕比Allman/BSD/GNU样式更不容易出现这个问题).

我个人的偏好是密集的代码,除了函数/方法/注释块之外几乎没有"减速带".对于棘手的代码部分,我想留下一个大的注释块告诉你我将要做什么以及为什么,然后在该代码部分中添加一些"标记"注释.不幸的是,我发现其他人一般都喜欢慷慨的垂直白色空间.一方面,我可以拥有更高的信息密度,而另一些人则认为流量不是很好,另一方面,我可以以更低的信噪比为代价获得更好的流动代码库.

我知道这是一个小小的,愚蠢的事情,但这是我真正想要的工作,因为我提高了我的其余技能.

有人愿意提供一些提示吗?你认为什么是流动良好的代码,在哪里适合使用垂直空白?有关两行或三行评论的评论结束的任何想法?

谢谢!

PS这是我一直在研究的代码库中的方法.不是我最好的,但不是我迄今为止最差的.

/**  
 * TODO Clean this up a bit.  Nothing glaringly wrong, just a little messy.  
 * Packs all of the Options, correctly ordered, in a CommandThread for executing.  
 */  
public CommandThread[] generateCommands() throws Exception
 {  
  OptionConstants[] notRegular = {OptionConstants.bucket, OptionConstants.fileLocation, OptionConstants.test, OptionConstants.executable, OptionConstants.mountLocation};  
  ArrayList<Option> nonRegularOptions = new ArrayList<Option>();  
  CommandLine cLine = new CommandLine(getValue(OptionConstants.executable));  

  for (OptionConstants constant : notRegular)  
   nonRegularOptions.add(getOption(constant));  

  // --test must be first  
  cLine.addOption(getOption(OptionConstants.test));  

  // and the regular options...  
  Option option; …
Run Code Online (Sandbox Code Playgroud)

language-agnostic whitespace coding-style

4
推荐指数
2
解决办法
570
查看次数