![]() |
|
Модераторы: Се ля ви |
![]()
|
|
| MAKCim |
|
||||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 1 Всего: 207 |
Всем привет!
вопрос конечно детский но все же какая на ваш взгляд расстановка скобок в коде делает его более удобночитаемым? 1.
2.
сам склоняюсь к варианту 2 -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
||||
|
|||||
| Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 9 Всего: 173 |
Был такой опрос. Выяснилось, что большинство также предпочитает вариант 2.
-------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
| Cr@$h |
|
|||
![]() Исследователь ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1693 Регистрация: 3.4.2005 Где: Санкт-Петербург, Россия Репутация: 1 Всего: 41 |
Думаю, первый предпочитают Java-программисты, а второй -- С/С++/С#. Па крайней мере, большинство редакторов так заточено по умолчанию. Самому не нравятся оба варианта. Люблю так:
Все равно эти end'ы писаться автоматически будут, а читаемость для меня повышается резко. ИМХО. Не люблю я в этом смысле "птичьи" языки. |
|||
|
||||
| Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 9 Всего: 173 |
Cr@$h +1, только я бы для ИЯ предпочел блоки do..end, без явного указания, какой блок закрывается. Т.е. что-то больше похожее на синтаксис Модулы или Оберона.
-------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 1 Всего: 207 |
намек понял -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
| Cr@$h |
|
||||||||
![]() Исследователь ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1693 Регистрация: 3.4.2005 Где: Санкт-Петербург, Россия Репутация: 1 Всего: 41 |
Ну,.. крылья другие, птица та же. Здесь у меня такие мнения: не хочу писать начало блока типа: begin, {. Ведь началом блока является сама конструкция. Плюс begin может заставить вынуждат делать лишние или нестандартные отступления. Появятся конструкции с несколькими блоками -- пожалуйста. Считаю полезным в end'е писать название конструкции, а то следующие коды по практичности одинаковы:
Более того, полезно уметь давать конструкции имя
|
||||||||
|
|||||||||
| nerezus |
|
|||
![]() Вселенский отказник ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: нет Всего: 43 |
Я { скобки в объявлении классов и функций пишу с новой строки.
В остальных местах - в джава-стиле |
|||
|
||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 1 Всего: 317 |
Не люблю begin/end, do/end и прочие. Глазу проще различить (даже с подсветкой) ключевое слово от скобок и подобного, отсюда люблю С'подобные языки. По сабжу, первый вариант, если приходиться читать второй, то в редакторе ре-форматирую в первый.
-------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| Cr@$h |
|
|||
![]() Исследователь ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1693 Регистрация: 3.4.2005 Где: Санкт-Петербург, Россия Репутация: 1 Всего: 41 |
||||
|
||||
| Mad |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Эксперт Сообщений: 656 Регистрация: 18.10.2004 Где: Одесса Репутация: нет Всего: 19 |
2 вариант
если правильно оформить код (не пропускать табы), то читаеться одинаково легко, как со скобками, ток и с ключевыми словани (тем более в VS.2005 если использовать возможность сворачивания блоков в строку) |
|||
|
||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 1 Всего: 317 |
Даже не задумываюсь, просто вижу и всё Сам это понял, когда писал много документации для Java. То что нужно самому раставлять HTML разметку меня убило, ведь это просто различать параграфы и списки, как например это делает phpDocumentor. Через пол года привык, теперь наоборот глюки phpDocumentor'а (<b><i>test</i></b> поймёт только <b>, вложенные теги вообще не понимает) кажуться просто вопиющим бредом, хочеться контроль над разметкой полный, т.к. иногда к классам пишу целые мануалы с заголовками и прочим -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| Cr@$h |
|
||||||||
![]() Исследователь ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1693 Регистрация: 3.4.2005 Где: Санкт-Петербург, Россия Репутация: 1 Всего: 41 |
Ну, давай посмотрим.
Практичность измеряется, кто не знал А уж тем более не понимаю, зачем открывающую кавычку сделали: просто потому что есть открывающая, каждой твари по паре, что ли. Согласен. Я привык к "нормальным" конструкциям, а не к заголовкам конструкций с блоками из птичек. |
||||||||
|
|||||||||
| ZeeLax |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4388 Регистрация: 20.8.2006 Где: Алма-Ата Репутация: нет Всего: 88 |
За первый вариант. А что до удобочитаемости - комментарии можно юзать и для ключевых слов и для птичек.
-------------------- Utility is when you have one telephone, luxury is when you have two, opulence is when you have three — and paradise is when you have none. — Doug Larson |
|||
|
||||
| Cr@$h |
|
|||
![]() Исследователь ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1693 Регистрация: 3.4.2005 Где: Санкт-Петербург, Россия Репутация: 1 Всего: 41 |
||||
|
||||
| He1mut |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 27.9.2006 Репутация: нет Всего: нет |
ИМХО, второй вариант без сомнения наиболее удобочитаем.
Я вот даже в таких случаях пишу:
|
|||
|
||||
| comtat |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1310 Регистрация: 2.5.2006 Где: Россия, Казань Репутация: нет Всего: 71 |
Предпочитаю вариант для Perl
и
у Delphi -------------------- Рожденный в СССР !!! ExtJS - мой фреймворк |
||||
|
|||||
| Bose |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1458 Регистрация: 5.3.2005 Где: Riga, Latvia Репутация: нет Всего: 51 |
Я тоже последнее время крепко задумываюсь по этому поводу. Для Java и Delphi насколько я знаю принято писать { или begin в конце строки! То есть первый вариант(!).
Лично мне же более читаемым кажется 2й, вариант - когда открывающая и закрывающая конструкция находятся на одном уровне - мне так проще выделять код в визуальные блоки. Фигурные скобки мне кажутся более лакончичными и удобными, чем слова begin - end. Уже года 3 программирую только на Delphi, но когда набрасываю на бумаге алгоритм, всё-равно предпочитаю рисовать фигурные скобки. Видимо сказывается, то, что C++ я выучил раньше паскаля. В сложных конструкциях, комментарии, после закрывающего слова в блоке считаю признаком хорошего стиля. Такой код читать намного проще, особенно редакторах не поддержиывающих свёртку блоков в строку. |
|||
|
||||
| Piphon |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 107 Регистрация: 30.3.2004 Где: Екатеринбург Репутация: нет Всего: 2 |
На вопрос топика: 2 способ. А так пофиг с 'птичками' или со словами. Вот только первый способ мне очень не нравиться. Код должен быть структуирован.
Это сообщение отредактировал(а) Piphon - 26.10.2006, 00:03 --------------------
Non Progredi Est Regredi... |
|||
|
||||
| batigoal |
|
|||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 1 Всего: 151 |
В общем-то, такая рекомендация есть (для Java), но любителей переноса скобок на новую строку - примерно половина. -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
| EvgenZ |
|
|||
![]() Freedom in me ![]() ![]() Профиль Группа: Участник Сообщений: 407 Регистрация: 3.8.2006 Репутация: нет Всего: 11 |
А мне нравится первый вариант и воспринимаю его легче. Помоему он симпотичнее. Второй мне не нравится.
-------------------- <удалено администрацией форума> |
|||
|
||||
| ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: нет Всего: 149 |
Второй
|
|||
|
||||
| smartov |
|
|||
![]() свой собственный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4225 Регистрация: 2.2.2006 Где: NJ Репутация: 2 Всего: 259 |
Пишу в втором варианте. (Java Style или ANSI C style как его зовут)
Первый (K&R style) мне кажется менее читабельным из-за того, что строки кода условия сливаются с условием условия (каламбурчег). Есть еще GNU-style, от которого меня лично вообще тошнит. Это когда скобка стоит на отдельной линии но табулирована на пол-таба
|
|||
|
||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: нет Всего: 92 |
Если не секрет - она как-то аргументирована? |
|||
|
||||
| batigoal |
|
|||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 1 Всего: 151 |
Нет, просто договоренность. Некоторым так действительно нравится больше - сразу видно, при каком условии выполнится тот или иной кусок кода. В свете современных IDE с возможносями collapse/expand - не такое уж и преимущество. Вот цитата из Code Conventons:
Без аргументации. -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: нет Всего: 92 |
Тогда не согласен с преимуществом такого способа. Второй вариант лучше потому что:
1. Лучше читается 2. Легче поддаётся обработке различными редакторами и утилитами. |
|||
|
||||
| batigoal |
|
|||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 1 Всего: 151 |
Если первый пункт - дело вкуса (и вкус у меня такой же), то второго я не понял. Можно пример?
-------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
| Exception |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: нет Всего: 186 |
|
|||
|
||||
| EvgenZ |
|
|||
![]() Freedom in me ![]() ![]() Профиль Группа: Участник Сообщений: 407 Регистрация: 3.8.2006 Репутация: нет Всего: 11 |
помоему наряднее... -------------------- <удалено администрацией форума> |
|||
|
||||
| ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: нет Всего: 149 |
Только что синий ярче А так я за код Exception-а (хотя, у нас технология общая |
|||
|
||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: нет Всего: 92 |
Поясню - редактору проще анализировать код (я говорю про простые текстовые реддакторы, а не достаточно накрученные), если быть увереным, что начало блока - строка из одного символа {. Конец - строка из одного символа }. Если мы вдруг решили написать какой-нибудь сценарий для обработки, то это допущение также облегчит жизнь. Насчёт лучшего чтения - не только дело вкуса. Просто подобные блоки как-то осязаются сразу, с { на конце - нужна пауза. Помогают, конечно, инденты, но не всегда. Скажем, если у нас есть маса условий, которые надо проверить в ифе, то, возможно мы разобъём его на две строки. В итоге индент будет и там, потому отделение скобками ({ - }) значительно улучшает восприятие. |
|||
|
||||
| Rodman |
|
||||
|
CIO ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 6144 Регистрация: 7.5.2006 Где: Ukraine ⇛ Kyiv ci ty Репутация: нет Всего: 122 |
Cr@$h,
первый раз такой С++ вижу...
а вооще я за второй вариант |
||||
|
|||||
| smalcom |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 494 Регистрация: 16.10.2004 Где: Dnepr Репутация: нет Всего: 7 |
использую следующий стиль
ну и табы всегда ставлю на восем позиций - получаеца хоть и широкий но очень удобочитаемый код Это сообщение отредактировал(а) smalcom - 13.11.2006, 23:41 -------------------- What DA F...??? |
||||
|
|||||
| Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 9 Всего: 173 |
Особенно теми, у кого монитор не 20" и более. ИМХО, макс. длина строки в 80 символов должна соблюдаться и табы в 8 позиций этому не способствуют, но это всего лишь моё мнение -------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
| diam |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 348 Регистрация: 23.1.2005 Где: Екатеринбург Репутация: нет Всего: 16 |
Соглашусь. Очень легко читать код, который не лежит кучей, а хорошо структурирован, но если при всём этом код ещё и компактен, то его вдвойне легче читать.
Для меня вариант 1 читается проще. |
||||
|
|||||
![]()
|
| Правила раздела "Философия программирования": | |
|
|
Форум "Философия программирования" предназначен для обсуждения вопросов, так или иначе связанных с философскими аспектами разработки ПО: • вопросы перспективного развития методов написания ПО; • изменяющиеся языки и методологии программирования; Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Се ля ви. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Философия программирования | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |