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

问题描述

| 我不确定应该在源代码中的哪里添加新的空白行。我想编写易于阅读和理解的漂亮代码。 是仅基于对象还是基于概念?举例说明对我来说是最有帮助的。     

解决方法

我个人不使用太多垂直空格-其他人会推荐比我在下面描述的更多的空格。只要分开的东西之间有某种视觉上的分隔,我想看看代码,而不是空白行。我倾向于说: 非成员函数之间(以及在C ++中,在类外部定义的成员函数之间)的空白行 类之间的单个空白行。 与后面的多个函数/类相关的注释之前和之后的空白行,即在代码中定义了“ sections”:“用于XML处理的辅助函数”,即此类注释。 类中的成员函数之间没有空白行 函数内部通常没有空行。如果一个函数处于多个阶段,则可以在它们之间插入空白行,或者仅在它们之间进行注释以解释这些阶段。很长的函数很可能以这种方式与空格分开,而不是我认为很长的函数特别好。如果成员函数确实具有内部空白行,则通常也将其与类中的其他成员函数分隔开空白行。 在我看来,连续的两行空白行有点让人怀疑,而我自己从来没有这样做过。三只浪费了我显示器上的完美空间-谁想要将IMO分开的东西放到其他文件中。 自动文档的注释块(Javadoc,Doxygen,Pydoc等)还提供了视觉上的分隔-比几行空白更多,并且比任何数量的空白更有生产力。 在团队中工作时,请复制您修改的任何文件的样式。请勿重新设置其格式以匹配您自己的偏好,请勿使用您喜欢的格式添加新代码。要么同意一种房屋风格,要么就可以与之共存。     ,我认为这是个人喜好或公司标准的问题,但是在办公室,即使我们有一些准则,每个人都有编写代码的方式,而空格是其中之一。 我喜欢使用很多空白行。每当我的代码的上下文发生变化时,我就将这一部分与上一个和下一个部分分开,并在前面注释整个块。     ,这取决于您自己的喜好或公司的准则,必须在其中创建回车。实际上,这样的指导方针还将决定您放置空间,标签和呼吸方式的位置。好吧,也许不是最后一个。 但是,如果您是一个人,并且想要简洁明了的编码方式,则可以始终考虑实现Microsoft StyleCop。它可以控制您的编码习惯,因此您可以根据需要将其配置为严厉。     ,这可能是个人喜好或家庭风格的问题。 我在函数之间以及较大的函数调用中的逻辑块之间包括空白行。     ,我的代码标准是: 在每个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
    ,请查看StyleCop以获得源代码布局:http://stylecop.codeplex.com/。 我还建议使用FxCop或ReSharper。 另外,用Control K D布置文档,但不对空白行进行排序吗?     ,就像每个人都表示每个人都有自己的做法一样。就我而言,我喜欢一贯地做一些事情。 注释前后的空白行多于一行。 每个班级的前后至少有两个空行。 功能由一行分隔。 其他空白行是更可选的。这里的事情是,我喜欢注释和类突出。通常,适当的缩进将满足大多数其他需求。这里的窍门是除非有必要,否则不要浪费垂直空间。 如果您必须使用其他人的代码,我想如果他们遵循相同的空白时间表,您会感到很高兴。迷失在函数或类定义中可能会很麻烦。     ,只是个人观点,但我认为您绝对不应在代码中使用空行,尤其是在函数内部。 如果函数是如此复杂,以至于我们正在考虑放置空白行以使其更易理解,那么它可能需要进行一些重构,而不是空白行。 即,考虑以下简化的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;
}
这样,您仍可以提高可读性,而不会浪费文件空间。 我经常使用笔记本电脑工作,不得不在文件中滚动很多,这很烦人。如果代码可以干净并且避免不必要的空行,那么开发和理解起来会更快。