Allman или K & R? Это Open Mike, серия дискуссионных сообщений, чтобы бросить кота среди голубей. Эти сообщения все о вас — мы хотим услышать ваши мнения, идеи и мысли. Для начала давайте поговорим о скобках .
1: ты обнимаешься?
«Обнимающиеся» фигурные скобки означают запись их так:
1
2
3
4
5
6
7
|
function showCuddlingExample():void {
if (example) {
//do something
} else {
//do something else
}
}
|
Кроме того, есть стиль Allman:
01
02
03
04
05
06
07
08
09
10
11
|
function showAllmanExample():void
{
if (example)
{
//do something
}
else
{
//do something else
}
}
|
В этой записи Википедии перечислены другие распространенные стили. Что вы используете?
Мне нравится Allman, потому что вы можете сделать это:
1
2
3
4
|
//if (someCondition)
{
doSomething();
}
|
Я могу легко отключить условную проверку, просто закомментировав оператор «если». Если бы я обнимала скобки, мне пришлось бы либо написать новую скобку, чтобы заменить «если», либо закомментировать соответствующую закрывающую скобку.
2: Вы дополняете свои круглые скобки?
Сравните все это:
1
2
|
//tight
function exampleFunction(arg1:int, arg2:String):void
|
1
2
|
//space before parentheses
function exampleFunction (arg1:int, arg2:String):void
|
1
2
|
//space between variable and type
function exampleFunction(arg1 : int, arg2 : String) : void
|
1
2
|
//padded parentheses
function exampleFunction( arg1:int, arg2:String ):void
|
Я видел все это в различных комбинациях. Раньше я использовал «мягкие скобки», так как казалось, что легче видеть аргументы и их типы, но теперь я предпочитаю «узкие». А что насчет тебя?
3: Вы вкладываете скобки в условия?
Мне кажется «правильным» написать:
1
|
if ( (condition1) || (condition2) )
|
…скорее, чем:
1
|
if (condition1 || condition2)
|
… хотя первый занимает гораздо больше места. Скобки ясно показывают, где находится разделение. Но стоит ли это небольшое различие?
И последнее: спасибо Серхио с сайта www.artua.com за потрясающую иконку микрофона!