Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Java: Общие вопросы > Оформление кода в Java |
Автор: pvp 4.8.2008, 10:04 | ||||
есть два популярных стиля 1:
2:
прокаментируйте пожалуйста ваш выбор |
Автор: w38 4.8.2008, 10:27 |
в самом начале пользовался вторым способом, тогда это было аргументировано тем что писал в vi, и там быстрее было прыгать между началом и концом блока клавиатурными комбинациями Потом в конторе учредили code convention и перевели на первый способ, и, где-то в одно время с этим, Эклипса достигла приемлимого уровня юзабельности, так что начал пользоваться форматированием этого редактора. |
Автор: Grig 4.8.2008, 10:35 |
нравиться первый способ. Чисто визуально =) |
Автор: pvp 4.8.2008, 10:39 |
тоже самое а теперь пересел на Java, и смотрю что почти во всех примерах используют 1 стиль но мне больше нравится 2 стиль, по мне так он более читабельный Добавлено через 2 минуты и 53 секунды думаю вы уже привыкли но мне очень трудно искать первую скобку, особенно если строка очень длинная |
Автор: Platon 4.8.2008, 10:46 |
нравился 2-й стиль, долго использовал, потому, что видно какая скобка к какой относится. Но под влиянием одного персонажа, перешел на 1-й стиль, теперь использую только его. Читать с бумажки уже давно не приходилось, а IDE подсвечивает соответствующие скобки. |
Автор: pvp 4.8.2008, 10:49 | ||
но если почему не использовать 2-й стиль |
Автор: Platon 4.8.2008, 11:27 |
экономия места. с множеством скобок по второму стилю, код перестает быть компактным. Да и просто уже дело привычки. |
Автор: pvp 4.8.2008, 11:34 |
ну вот и первый аргумент ![]() |
Автор: Dummy 4.8.2008, 11:37 |
Для Java использую 1-й стиль, для C/C++ - 2-й. Просто в силу того, что, когда переходил от C / C++ к Java, coding conventions конторы требовали именно такого оформления ![]() Да и http://java.sun.com/docs/codeconv/ тоже как-то рекомендуют стиль 1 ![]() |
Автор: pvp 4.8.2008, 11:40 |
интерестно а есть редактор каторый бы выделял скобки, не только в момент навидения на них например чтоба они всегда юыли бы красноми |
Автор: pvp 4.8.2008, 12:29 | ||
можно поставить чекбокс(красный/чёрный)
![]() что я увижу где начинаетя блок(первая фигурная скобка) ? табуляция используется и во 2-м стиле, табуляция не является признаком того есть блок( { } ) или его нет |
Автор: vdweller 4.8.2008, 12:29 |
использую 2-й стиль намного более читабельно для меня |
Автор: Mayk 4.8.2008, 12:34 | ||
примернр такой.
|
Автор: $tatic 4.8.2008, 12:35 |
Первый - потому что и сама Sun так пишет. |
Автор: pvp 4.8.2008, 12:35 |
Mayk, а почему не один стиль ? |
Автор: Mayk 4.8.2008, 12:36 |
ф-ции удобнее отделять. сишная привычка. |
Автор: pvp 4.8.2008, 12:53 |
а Sun пишет почему она выбрала этот стиль ? ссылки на английском не давать, ну или хотябы переводите пожалуйста |
Автор: EvgenZ 4.8.2008, 12:58 |
1 стиль, меньше расползается код, визуально нравится и на работе стандарт такой ))) |
Автор: powerOn 4.8.2008, 13:27 |
стиль 2. |
Автор: neiron 4.8.2008, 14:01 |
не вижу плюсов у способа 2, не вижу минусов у способа 1. Да и привык уже к первому. Если правильно форматировать код, используя табуляцию, то всё всегда понятно - где начало, а где конец. |
Автор: Mayk 4.8.2008, 15:02 |
или пробелы. таб vs пробелы тоже тот ещё холивар. ![]() |
Автор: garbuz 4.8.2008, 16:37 |
Тоже использую первый стиль, изначально так и начинал писать. |
Автор: SoulKeeper 4.8.2008, 18:15 |
1 для меня удобнее. 2-й слишком расползается, да и конвеншены сановские... |
Автор: neiron 5.8.2008, 08:30 | ||
Mayk, имхо, неоспоримо. тут всё просто - табы дают больший сдвиг, т.е. лучшее зрительное разделение. Пробелы быть может стоило бы юзать при большой вложенности, но не может её быть в подавляющем количестве. Если говорить о том, что пробелы позволяют увидеть строку до конца, так тоже не факт. Гораздо проще писать строчку в несколько, да и сопсно в строчке как правило важнее первое "слово", ибо по нему уже можно определить общую ситуацию. а как отделять важные участки кода? я обычно ставлю что-то типо
а когда и editor - блоки юзаю тоже чем не тема для спора))) |
Автор: Shaggie 5.8.2008, 10:44 |
Выносить в отдельный метод/класс и писать к нему javadoc. |
Автор: vinter 5.8.2008, 11:03 | ||
так красивее ![]() слово "Название", почему то вправо съезжает |
Автор: mbasil 5.8.2008, 11:55 |
1. Сначала, придя в Java из С++, использовал второй вариант, потом понял - правильно написал один из гуру: "Помните, что код читает не только компилятор!". 2. В связи с тем, что в Java отсутствует хидер файл в качестве справочника, следует код писать компактно - все переменные (и экземпляра и статические) объявляю вверху описания класса. Первый способ также способствует компактности кода. 3. Читабельность кода на первом месте, в том числе и тот критерий, чтобы на экране размещалось как можно больше кода. Если читабельность в ущербе вставляем пустую строку. 4. Вследствие необходимости чтения кода коллегами (см. пункт 1) код должен быть привычным всем, чтобы одним взглядом можно было оценить то, что в нем делается (а в большинстве случаев Java разработчики используют именно первый вариант) полагаю, что ответ на вопрос однозначен, как бы нам не нравился второй вариант. Клянусь, он мне нравится больше! |
Автор: jeank 5.8.2008, 12:10 |
Однозначно второй, может код и расползается, зато он симметричен - скобочки строго друг над другом - для меня очень читабельно, пусть даже он и занимает больше места. Добавлено через 11 минут и 3 секунды Однозначно второй, может код и расползается, зато он симметричен - скобочки строго друг над другом - для меня очень читабельно, пусть даже он и занимает больше места. |
Автор: dorogoyIV 5.8.2008, 14:14 |
это бесконечные рассуждения ![]() лично я написал себе утилитку, которая, переписывает файл.java расставляет скобки как мне надо и удаляет лишние пустые строки. по теме - я за 2 |
Автор: val_vp 5.8.2008, 15:35 |
за 1 - на работе кодинг стандарт предписывает именно его. |
Автор: chief39 6.8.2008, 12:02 | ||
В идее нажимаю ctrl-alt-I - всё расставляется. Ровно под каждой декларацией метода находим вторую скобку. Во втором методе в два раза больше скобок, которые бросаются в глаза при "перелистывании" взглядом по левому отступу. Боьлше инфы, меньше "схватываемость на лету". |
Автор: vinter 6.8.2008, 14:01 |
Второй метод. Скобки визуально лучше видно. |
Автор: jeank 6.8.2008, 16:35 |
Согласен с vinter - именно визуально (лично мое мнение) гораздо лучше, скобки зрительно фиксируются как границы блока и этот блок четко просматривается. А для тех, кто любит компактность, предлагаю вообще все в одну строчку писать, пока на экран помещается - будет офигительно компактно, и скобки при "перелистывании" взглядом по левому отступу вообще в глаза бросаться не будут, их можно будет найти только с факелом либо поиском в любимом IDE. |
Автор: chief39 6.8.2008, 17:17 | ||||
Если это камень в мой огород(а очень похоже), то: Я сказал почему мне удобен именно такой метод. Пояснил как у меня решается проблема визуального соотношения метод-скобка-скобка. Я не сказал что все остальные варианты - плохие. Добавлю что предпочитаю пользоваться принципом разумной достаточности. Отвечу что "совет" писать в одну строчку для меня неприемлем. И если уж пошли такие пироги "ниачём" - "посоветую" писать ВСЁ через строчку, добавить обрамление блоков скобками где это возможно и усердно юзать конструкции типа:
Естественно, не писать это в одну строчку, а для каждой из этих скобок выделить свою строку, а то и две. Интересно поговорили, ага? |
Автор: dorogoyIV 8.8.2008, 16:54 | ||||
еще такая ситуация:
можно написать со скобками, а можно и без скобок!
можно и перепутать скобки... ??? это я к тому, что изначально читающий код человек не знает, что делается в цикле for, как всегда его до конца не прочитываешь, и не замечаешь открывающую скобку. ну это, конечно, мои личные наблюдения ![]() я за 2 |
Автор: niasilil 10.8.2008, 05:28 | ||
ой, какая прелесть. Зачем же изобретать велосипед, если есть code formatter в эклипсе? ЗЫ а мне пофигу как скобки ставить, лишь бы как все в компании. Тогда разногласий не будет. А уж читабельность кода от скобок в последнюю очередь зависит. |
Автор: dorogoyIV 10.8.2008, 14:01 | ||
ну какой же это велосипед? это утилитка лично для меня. даже если существует в какой то IDE такая утилита, мне не было лишним потренироваться просто я не пользую IDE. поэтому не знаю... |
Автор: JHelg 10.8.2008, 22:44 |
Давно, когда переходил с С,С++ на Java по привычке пользовался вторым стилем.) Сейчас пользуюсь и наверное уже всегда буду пользоваться первым стилем. P.S. Случайно проголосовал за второй стиль)) А вообще интересно знать, в чем смысл этой темы?) Имхо на вкус и цвет товарищей нет.) |
Автор: iluvatar 11.8.2008, 13:00 | ||||||
Скажу и я свое ИМХО: 1. по поводу code fomatter - в нормальных IDE он настривается, т.е. как захочет прогрммист, так среда и будет форматировать код. 2. по поводу "какой стиль лучше": пример стиля 1:
пример стиля 2:
Разве в первом случае глядя на закрывающую скобку непонятно где стоит открывающая? Ведь табы не зря придумали. Сам считаю, что во втором просто добавляется одна строчка, что делает код менее читабельным, особенно для методов состоящих из одной строчки (геттеры и сеттеры), которые читать просто невозможно:
|
Автор: chief39 14.8.2008, 16:31 | ||
dorogoyIV, на сей случай лучше обрамлять одиночные стэйтменты после цикла, ифа и т.п.
Очень легко кто-то может найти "место где Х меняется на 5" и добавить строчку, "меняющую и У на 6". Завтыкав с тем, что к циклу или ифу будет "прицеплена" только первая строчка. Тут как раз скобки не помешают. В одну строку или в 10 |
Автор: Ortega 15.8.2008, 14:57 |
JHelg, аналогично ![]() Потом в определенный момент решил, что не зря, наверное сан рекомендует первый - попробовал использовать. А дальше - как с наркотиками - втянулся и не смог отказаться ![]() |