Я провел большую часть последних нескольких лет, работая в основном с 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 делали то же самое, что и curly-brace-newline, но со всеми новыми модными библиотеками и прочим, большинство разработчиков ставят открывающую скобку после объявления:
function MyJavaScriptFunction() {
//do something
}
В этом вы можете увидеть смысл, потому что, поскольку использование JavaScript и указателей на функции стало популярным в 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)
и этого достаточно. Извините, моя любимая мозоль.