在过去的几年中,我大部分时间主要用于C#和SQL。在那段时间里,与我合作的每个程序员都习惯将函数或控制流语句的左括号放在新的一行上。所以...
public void MyFunction(string myArgument)
{
//do stuff
}
if(myBoolean == true)
{
//do something
}
else
{
//do something else
}
我一直对这是多么浪费空间感到震惊,尤其是在if / else语句中。而且我知道在C#的更高版本中存在替代方法,例如:
if(myBoolean == true)
//do something on one line of code
但是几乎没有人使用过它们。每个人都在做换行符。
缺席很久之后,我又重新开始使用JavaScript。在我的记忆中,JavaScript开发人员曾经做过完全相同的curl-brace-newline事情,但是对于所有花哨的新库和新东西,大多数开发人员都在声明后加上了大括号:
function MyJavaScriptFunction() {
//do something
}
您可以从中看到这种感觉,因为自从使用闭包和函数指针在JavaScript中变得很流行以来,它就节省了大量空间并提高了可读性。所以我想知道为什么它在C#中没有被视为完成的事情。实际上,如果您在Visual Studio 2013中尝试上述构造,它实际上会为您重新格式化,将开括号放在新的一行上!
现在,我在Code Review SE上看到了这个问题:https : //codereview.stackexchange.com/questions/48035/questions-responses-let-me-tell-you-about-you 在Java中,我了解到我不太熟悉的一种语言,在声明后立即以现代JavaScript格式打开花括号被认为是不当的。
我一直都知道C#最初是按照Java建模的,并且遵循许多相同的基础编码标准。但是在这种情况下,似乎没有。因此,我认为一定有一个很好的理由:原因是什么?为什么C#开发人员(和Visual Studio)在新行上强制使用大括号?
if(myBoolean == true)
对我来说毫无意义。当我们在这里时,不是if ((myBoolean == true) == true)
吗?仅if (myBoolean)
此而已。对不起,我的宠儿。