Нет :) Есть именно отсутствие стиля, т.е. «каша»: из операторов, символов, скачущие строки, разнобой выравнивания, лишние пробелы и т.п.
Мой предыдущий начальник смотрел даже на количество пустых строк между объявлением методов, чтобы оно было одинаково для всего файла и всех файлов. Мотивация следующая: «как можно доверить что-то серьезное человеку, который даже не может вставить одинаковое количество переводов строки?»
Вот тут есть спорные моменты. Некий Ларри Уолл советует расставлять скобки «побольше». Хотя без скобок мне тоже нравится больше :) А про and/or, имхо, в данном случае дело вкуса. У && || приоритет выше, но в данном случае это не играет роли. Кому как нравится :)
А можно ссылочку? Вот документ от меня по теме: perldoc.perl.org/perlstyle.html
А конкретно: «Omit redundant punctuation as long as clarity doesn't suffer.»
Ни то и ни другое. Надо что-то среднее. С одной стороны, сокращения очевидных операций и алгоритмов еще никому не повредили, но и с фанатизмом подходить к этому вопросу не стоит.
Если бы это был С/С++ и MS VS, то step in preg_replace, step out и в окошке Auto вы бы увидели, что вернула функция, из которой вы вышли. Отладчики PHP так не умеют?
В любом случае, я за такие конструкции бью по рукам. Как и за if-ы без скобок, chained calls (method1().method2().method3()), присвоения в if-ах и вообще различный obscured и error-prone код.
Когда увеличение размера кода мало влияет на производительность программы — описываю всё подробно. Иногда приходится перечитывать собственные исходники через пару лет, и тут лаконичность пониманию не способствует. Внедрение пары временных переменных в таком случае — приемлимо, я считаю.
А вот когда приходилось писать на ассемблере (это было давно и неправда), тут никаких лишних строчек не допускалось; для асма работает правило «чем короче, тем понятней».
Хорошо красиво написаный код удобно поддерживать. Особенно если его написал не ты. Особенно если пять лет назад. Особенно если документации нет, как нет и человека, который это писал, а это все надо срочно править.
А где же вариант «где мало строк, но каждая из них несет полезную нагрузку и выполняет оптимум (а то и минимум) возможных операций»? Ну или «код, который выполняет ровно то, что нужно»
Может и подразумевает, но «максимум возможных операций» — это то, от чего мы доооолго избавлялись. Люди не всегда понимают, что «максимум» не всегда нужен, а зачастую даже наоборот.
Люблю все красиво оформить и подробно расписать, причем фанатично предан своей позиции, я считаю что некрасивый, неудобный для прочтения код, по определению не может хорошо работать, так как шанс допустить в нем ошибку на порядок выше. Да и вообще должно-же быть в нашей профессии что-то красивое… :P
Как тут уже сказали, принятые в проекте правила стиля прежде всего.
Краткость — не самоцель. Но красивый и понятный — не значит раздутый.
Я стараюсь минимизировать плотность побочных эффектов. Если цепочка из нескольких вызовов описывает понятный data flow, значит место ей в одном операторе. Эмпирический критерий: у промежуточного значения должно быть понятное и быстро придумываемое название, чтобы его имело смысл вынести в переменную.
В языках, где с выражением подобных абстракций туго, придерживаюсь verbose стиля.
В общем, стиль должен быть адекватен возможностям языка. Возможностям команды тоже, но это уже другой вопрос.
А я наоборот отказался от двойного пробела в пользу табуляции, так как табуляция — это все-таки специально предназначенный для этого символ, который к тому-же в большинстве современных редакторов кода можно настроить самостоятельно, например на те-же два пробела, это способствует тому чтобы у другого программиста, открывшего этот код, он отображался чуточку ближе к его собственным предпочтениям.
Какой стиль написания/оформления кода вам ближе?