Стиль не должен быть отделим от содержания
От: BishopMorton Россия  
Дата: 01.10.08 16:17
Оценка: 2 (1) +2 -8 :))) :))
Тут в соседней ветке подняли вопрос обсуждения стиля, человек даже задумался о смене работы из-за этого, и я решил вынести на суд общественности несколько мыслей по этому поводу.

Практически в любом зрелом языке программирования (С++, Java, С#, Python и т.д) проблемы стиля практически решены. Существует набор стандартных стилей кодирования, лучше которых врядли что-нибудь придумают. Но чтобы решить проблему стиля раз и навсегда, нужно внедрить стиль на уровне языка программирования.

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

Причем это не должно быть рекомендацией или warning'м, это не должно вообще компилироваться.
Например:
for( — не допустимо
for ( — компилируется

И так далее...

Аргументы "за":

Как отмечено выше, вы согласитесь, что практически для любого популярного и зрелого языка существует один распространенный стиль программирования (ну или несколько самых распространненых)
Например: В Java от Sun, в С++ от Бьярна и т.д Еще есть всякие рекомендации типа венгерской нотации...

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

Не существует идеального стиля программирования. Не возможно доказать, что лучше ставить "{" сразу после названия функции или с новой строки. Соответственно нет смысла вносить разногласия, разрешая несколько возможностей.

Очень много времени тратится на формирования стиля команды, документирование его, публикацию на wiki, чтобы все члены команды ему следовали, контроль за его соблюдением, препирательства и так далее.

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

Работа станет эффективней, не будет проблем при смене работы, так как стиль везде один — стандартный.

Если стиль будет стандартизирован, то во все популярные IDE будет возможность просто встроить автоматическое форматирование текста, в соответствии со стандартом.


Стандартизация стиля возможна только если не будет альтернативы. Много программистов заменяют while на during? Они этого не делают, так как это просто запрещено, а иначе кто-нибудь точно так писал бы и на форуме появлялись бы новые сообщения о том, что так жить не можно...

Некоторые вещи не проверяются, как например венгерская нотация или перфиксы set/get, но можно и их включить в стандарт, почему нет.
Тоже самое и с пропусками (табуляции, пробелы), надо чтобы они тоже учитывались компиляторами, для поддержания этого требования стандарта, достаточно просто ввести автоформатирование в IDE, чтобы у программиста об этом голова не болела.

И все — будет стандарт, не будет стилевых войн и разногласий, наступит мир во всем мире.


02.10.08 15:55: Перенесено из 'О работе'
When money talks... nobody checks the grammar.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.