some_var = foo()
another_var = bar()
или же
some_var = foo()
another_var = bar()
В том числе изменение пробелов при добавлении или удалении строк, чтобы они оставались выровненными. Это правда хорошо выглядит? Стоит ли убирать дифф?





С тех пор, как я был администратором VCS, чертовски мало стилистических проблем стоит убрать разницу. У нас был разработчик, изменивший имена с помощью процедуры смены пола, и у ее нового имени не было того же инициала. Затем она меняла свои прежние инициалы на новые всякий раз, когда работала над программой, и это меня очень раздражало.
Подобные ситуации следует разбить на два изменения, чтобы можно было изолировать «мусор» и с меньшей вероятностью скрыть важные изменения. Однако трудно вспомнить, как это сделать.
Да, это раздражает, но если мне придется выбирать между сменой пола и жить с 2000 различиями из-за смены имени, я определенно знаю, что предпочесть. Надеюсь, она довольна своей новой жизнью.
Нет, если между переменными нет вертикальной взаимосвязи, например:
some_var[ 1] = "foo";
some_var[100] = "bar";
Но случаи, когда я это делаю, очень редки, особенно когда у меня всего несколько переменных. Это немного чаще встречается в SQL, где у меня может быть имя параметра, тип и значение по умолчанию (три части) в одной строке, но даже там я стараюсь этого избегать - это не стоит хлопот.
@some_var varchar(25) = NULL
@another_var varchar(1000) = ''
@one_more int = 0
Я не думаю, что это хороший стиль, потому что из-за него слишком сложно вносить изменения (вам нужно выполнить всю работу по их повторному выравниванию), и для меня он отлично читается без лишних пробелов.
Что особенно раздражает в этом, так это то, что когда вы меняете левую часть строки, которая длиннее, чем все другие строки, вам нужно выровнять все остальные строки заново.
Пример:
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()
Очень надоедливый.
Нет.
Хотя некоторые находят этот стиль аскетически приятным, современные IDE с подсветкой синтаксиса делают выравнивание переменных таким образом пустой тратой времени, включая время, необходимое для их переформатирования при рефакторинге или изменении кода.
Кроме того, я твердо верю в то, что переменные следует объявлять как можно ближе к области, в которой они необходимы. Редко это приводит к блоку объявлений переменных, который даже нужно выровнять.
С Perl вы можете просто установить свои предпочтения и время от времени запускать perl-tidy для вашего кода.
Это придает тонкость выровненным = в нужных контекстах, не беспокоясь о необходимости думать о том, как лучше всего их выровнять, и не забывайте делать это самостоятельно.
Кроме того, какой бы стиль кодирования вы ни использовали в своем проекте, вы должны строго его поддерживать.
Чем более последовательным и строго соблюдается стиль, тем легче будет обнаруживать странности и ошибки программирования в вашем коде.
Кроме того, некоторые меры по устранению проблем, связанных с конфликтами в стиле кодирования уменьшать в долгосрочной перспективе, путем применения хороших правил разрыва строк.
Подобные стили заставляют взгляд перемещаться вертикально; однако код должен читаться горизонтально. Стиль кодирования должен дополнять то, что делает глаз, а не бороться с ним.
Кроме того, в крайних случаях становится трудно случайно увидеть, какое задание куда идет из-за больших пропусков. Это то, что я слишком часто вижу в файлах заголовков.
...
some_important_number = 348273;
initial_message_prefix = "foo";
another_important_number = 348711;
max_bucket_sz = 456;
...
С десятками таких в блоке становится трудно читать.
Надеюсь, вы преувеличиваете ...: P
К сожалению нет. Пример вымышленный, но из реального опыта
Как вы делаете разницу? Просто скажите ему игнорировать изменения в пробеле.