Language agnostic 我们什么时候应该在源代码中插入空行?

Language agnostic 我们什么时候应该在源代码中插入空行?,language-agnostic,coding-style,Language Agnostic,Coding Style,我不确定应该在源代码中的何处添加新的空行。我想写美丽的代码,既容易阅读和理解 它是基于对象的,还是基于概念的?带示例的答案对我最有帮助。查看源代码布局的StyleCop:。 我还推荐FxCop或ReSharper。 此外,控制K和D布局文档,但不整理空行?这取决于您自己的偏好或您公司的指导方针,您必须在其中创建运输退货。事实上,这样的引导线也将决定你在哪里放置空间、标签以及你如何呼吸。也许不是最后一次 如果你是你自己的,而且你想要简洁的编码方式,你就可以考虑实施微软。它可以控制你的编码习惯,你可

我不确定应该在源代码中的何处添加新的空行。我想写美丽的代码,既容易阅读和理解


它是基于对象的,还是基于概念的?带示例的答案对我最有帮助。

查看源代码布局的StyleCop:。
我还推荐FxCop或ReSharper。

此外,控制K和D布局文档,但不整理空行?

这取决于您自己的偏好或您公司的指导方针,您必须在其中创建运输退货。事实上,这样的引导线也将决定你在哪里放置空间、标签以及你如何呼吸。也许不是最后一次


如果你是你自己的,而且你想要简洁的编码方式,你就可以考虑实施微软。它可以控制你的编码习惯,你可以把它配置成你喜欢的那种严厉的风格。

这可能是你的偏好或房子风格的问题


我在函数之间和更大的函数调用中的逻辑块之间添加了空行。

我认为这是个人偏好的问题,或者可能是公司标准的问题,但在办公室里,即使我们有一些指导原则,每个人都有自己编写代码的方式,空白是其中的一个区别


我喜欢用很多空行。每次代码的上下文发生变化时,我都会将此部分与上一部分和下一部分分开,并在前面对整个块进行注释。

我的代码标准是:

  • 在每个if/else语句结束后(最后一个
    }
  • 每种方法之后
  • 每个属性后面都有多行
  • 在收集字段之后
例如:

    string a = "Note: ", b= "This", c= "A", d= "String", e= "Test";
    int f=1, h=1;

    string A { Get; Set; }
    string B { Get; Set; }
    string C { Get; Set; }

    string D 
    { 
        Get 
        {
            Return this.d; 
        }
        Set 
        { 
            if (value == "Foo")
            {
               // DoSomething
            } 

            this.d=value; 
        }
    }
    //empty line

就我个人而言,我不使用太多的垂直空白-其他人会推荐比我下面描述的更多的内容。只要在不同的东西之间有某种视觉上的分离,我就想看代码,而不是空行。我倾向于说:

    非成员函数(和C++中,在类外定义的成员函数之间)的一条空白行
  • 类之间的一个空白行
  • 注释前后的一个空行,与后面的多个函数/类相关,即在代码中定义“部分”:“用于XML处理的帮助函数”,这类注释
  • 类中的成员函数之间没有空行
  • 函数中通常没有空行。如果一个函数分为几个阶段,我可能会在它们之间留出空行,或者只是在它们之间添加一条注释来解释这些阶段。这样长的函数更容易被空格分解,而不是我认为长的函数是一件特别好的事情。如果一个成员函数确实有内部空行,我通常会用空行将其与类中的其他成员函数分开
在我看来,两个连续的空白行有点可疑,我自己也很少这样做。第三个就是在我的显示器上浪费了很好的空间——任何想要分开的东西的人都应该把它们放在不同的文件中

自动文档的注释块(Javadoc、Doxygen、Pydoc等)也提供了可视的分离——比几行空白更有效,比任何数量的空白都更有效


在团队中工作时,复制所修改的任何文件的样式。不要将其重新格式化以匹配您自己的首选项,不要添加具有首选格式的新代码。要么同意一套房子的风格,要么就接受它。

就像每个人都指出每个人都有自己的方法一样。就我而言,有几件事我喜欢始终如一地做

多行注释前后的空行

每个类在前后至少有两行空白

函数由一行分隔

其他空行更为可选。这里的问题是,我喜欢突出注释和类。通常,适当的压痕可以满足大多数其他需求。这里的诀窍是永远不要浪费垂直空间,除非你不得不这样做


如果你必须与其他人的代码一起工作,我想如果他们遵循相同的空白时间表,你会很高兴。在函数或类定义中迷失方向可能是一个很大的麻烦

这只是个人观点,但我认为您不应该在代码中使用空行,尤其是在函数内部

如果一个函数太复杂了,以至于我们想用空行来让它更容易理解,那么它可能需要一些重构,而不仅仅是空行

即,考虑这个简化的PHP片段:

function doStuff(){
    $a = new A();
    $result = $a->foo();

    $b = new B();
    $result += $b->bar();

    return $result;
}
我认为最好是:

function doStuff(){
    $result = $this->processA();
    $result += $this->processB();
    return $result;
}
通过这种方式,您仍然可以在不浪费文件空间的情况下提高可读性


我经常用我的笔记本电脑工作,而且必须在文件中滚动很多内容是很烦人的。如果代码可以干净,避免不必要的空行,那么开发和理解起来就会更快。

我的首选/实践是在逻辑上完成某项工作或以空行分开开始某项工作时。我从不将if与else分开。这最终是一个判断,但请记住,太多的空白不会伤害任何人。事实上,CodeComplete2引用的一项研究表明,超过16%的空行显著增加了调试时间。没有代码示例的答案数量太多了!我能猜出你喜欢的支具样式吗?K&R