如何写一个真如if()

Jam*_*mes 3 php if-statement code-formatting

我总是写下这样的陈述:

if (...) {
    /* do something */
}
Run Code Online (Sandbox Code Playgroud)

当我在stackoverflow上创建主题时,有时人们会将此代码更改为:

if (...)
{
    /* do something */
}
Run Code Online (Sandbox Code Playgroud)

所以第一个{进入一个新的路线.

它是否有意义,真正的方式是什么?

irc*_*ell 7

我建议阅读Code Complete.他深入研究了这个主题(几乎整篇关于它的内容),并给出了我认为#1的令人信服的论据.

他实际上说没有明确使用第二个,因为它没有通过黑盒测试:

if (blah) 
{
    //Foo
}
Run Code Online (Sandbox Code Playgroud)

当黑盒子变成:

XXXXXXXXX
X
    XXX
X
Run Code Online (Sandbox Code Playgroud)

因此,开口支架似乎就像块的开始,而不是它(它只是分隔符).

相反,他建议使用第一个选项(在同一行上打开大括号),或者:

if (blah)
    {
    //Foo
}
Run Code Online (Sandbox Code Playgroud)

由于它通过黑匣子测试:

XXXXXXXXXX
    X
    XXXXXXX
X
Run Code Online (Sandbox Code Playgroud)

注意:我不记得关闭分隔符是否应该在块内部...我没有方便的副本,所以它可能是:

if (blah) 
    {
    //Foo
    }
Run Code Online (Sandbox Code Playgroud)

然而,这一切都归结为一致性.为了使您的代码可读,您需要在格式化方式上保持一致.选择一种方法,然后坚持下去.不要从文件切换到文件或例程到例行程序.只要你保持一致并实际格式化它,不要担心它......