Является ли выстроение операторов достойным стилем? - PullRequest
3 голосов
/ 13 ноября 2008
some_var = foo()
another_var = bar()

или

some_var    = foo()
another_var = bar()

Включая изменение пробелов при добавлении или удалении строк, чтобы они выровнялись. Это действительно хорошо выглядит? Стоит ли вносить изменения в различие?

Ответы [ 7 ]

9 голосов
/ 13 ноября 2008

Я не думаю, что это хороший стиль, потому что он слишком усложняет внесение изменений (вы должны выполнить всю работу по их выравниванию снова), и для меня он отлично читается без лишних пробелов.

Что особенно раздражает в этом, так это то, что когда вы меняете левую часть строки, которая длиннее всех других строк, вам необходимо выстроить все остальные строки заново.

Пример:

some_var    = foo()
another_var = bar()

Теперь я хочу добавить переменную с именем another_another_var:

some_var    = foo()
another_var = bar()
another_another_var = baz()

Теперь я должен снова выстроить их в ряд:

some_var            = foo()
another_var         = bar()
another_another_var = baz()

Очень раздражает.

4 голосов
/ 13 ноября 2008

Со времени моей работы в качестве администратора VCS, чертовски мало стилистических проблем, которые стоит испортить. У нас была смена имени разработчика с его процедурой смены пола, и у ее нового имени не было того же самого начального. Затем она меняла свои прежние инициалы на новые, когда работала над программой, и это вызывало у меня большое раздражение.

2 голосов
/ 13 ноября 2008

С Perl вы можете просто установить свои предпочтения и время от времени запускать perl-tidy над своим кодом.

Это дает тонкость выровненных = в правильных контекстах, не беспокоясь о необходимости подумать о том, как лучше их выровнять, и не забудьте сделать это самостоятельно.

Кроме того, какой бы стиль кодирования вы не использовали для своего проекта, вы должны его неукоснительно поддерживать.

Чем последовательнее и строго соблюдается стиль, тем легче будет обнаружить странности и ошибки программирования в вашем коде.

Кроме того, некоторые меры по обеспечению стиля кодирования уменьшают проблемы, связанные с коллизиями в долгосрочной перспективе, путем применения хороших правил разрыва строки.

1 голос
/ 13 ноября 2008

Кроме того, в крайних случаях становится трудно случайно увидеть, какое назначение идет куда из-за больших пробелов. Я часто вижу это в заголовочных файлах.

...
some_important_number                                             = 348273;
initial_message_prefix                                            = "foo";
another_important_number                                          = 348711;
max_bucket_sz                                                     = 456;
...

С десятками из них в блоке становится трудно читать.

1 голос
/ 13 ноября 2008

Подобные стили заставляют глаз двигаться вертикально; однако код должен читать горизонтально. Стиль кодирования должен дополнять то, что делает глаз, а не бороться с ним.

1 голос
/ 13 ноября 2008

номер

Хотя некоторые считают этот стиль аскетичным, современные IDE с подсветкой синтаксиса делают выравнивание переменных таким образом пустой тратой времени, включая время, необходимое для их переформатирования при рефакторинге или изменении кода.

Кроме того, я твердо верю в объявление переменных как можно ближе к сфере, в которой они необходимы. В редких случаях это приводит к блоку объявлений переменных, которые даже необходимо выровнять.

1 голос
/ 13 ноября 2008

Нет, если между переменными нет вертикальной зависимости, например:

some_var[  1] = "foo";
some_var[100] = "bar";

Но случаи, когда я это делаю, очень редки, особенно когда у меня всего несколько переменных. Это немного более распространено в SQL, где у меня может быть имя параметра, тип и значение по умолчанию (три части) в одной строке, но даже там я стараюсь избегать этого - это не стоит хлопот.

@some_var varchar(25) = NULL
@another_var varchar(1000) = ''
@one_more int = 0
...