Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.218.94.236] |
|
Сообщ.
#1
,
|
|
|
Сообщ.
#2
,
|
|
|
А что означает третий вариант? Иногда пишу что-то вроде
int f(int a) {return a + 42;} int g(int a) {return a - 42;} |
Сообщ.
#3
,
|
|
|
Второй вариант. Но перед первой "дверью" нужно пробел ставить.
Вариант OpenGL'я - одобряю так же. |
Сообщ.
#4
,
|
|
|
И про goto не забудьте. А то как же без него-то...
|
Сообщ.
#5
,
|
|
|
Qraizer, не забывать про goto - это для слабаков!
B.V., <CRLF> надо заменить на \n - иначе упустишь мнение юниксоидов и маковчан! |
Сообщ.
#6
,
|
|
|
Цитата OpenGL @ А что означает третий вариант? Не, ну как в примере -- имеет право на жизнь. Особенно в конструкторах-деструкторах. А третий пункт -- это полный отказ от переносов. Один из методов обфускации |
Сообщ.
#7
,
|
|
|
Первый и только первый вариант!
Всех, кто второй - Вариант-экзотику OpenGL'я считать очевидным и полностью правильным. Добавлено П.С. в картинке как пропаганда идёт - использование возврата непосредственно перед функцией, отбрасывая вариант: Цитата Я делаю - фифти-фифти = когда как. int func() |
Сообщ.
#8
,
|
|
|
О, хоть один нормальный холиварчик
Добавлено Вспомнилась старая шутка: Цитата Мой знакомый пишет на Perl так: 80 символов потом перенос строки |
Сообщ.
#9
,
|
|
|
Ну как бы должно быть единое образие, верно?
Принципиально вопрос такой - как правильнее: Вариант 1: <заголовок блока> <признак начала блока> <тело блока> <признак конца блока> Вариант 2: <заголовок блока> <признак начала блока> <тело блока> <признак конца блока> Блок кода в разных языках выделяется разными конструктивами. И если в языках с си-подобным синтаксисом встречаются достаточно часто оба варианта, то посмотрите на языки, где признаки границ блока иные. Например, паскалеподобные языки или там SQL-диалекты... скажем, в SQL блок выделяется признаками BEGIN-END, и я пока не видел тех, кто сознательно использовал бы для таких блоков первый вариант... ну то есть видел, конечно, но наглядность получающегося кода при этом явно далека от желаемого уровня. |
Сообщ.
#10
,
|
|
|
мне не нравится как шарп девелоп делает. после энтера я делаю скобку закрывающююся и он тоже ставит.
|
Сообщ.
#11
,
|
|
|
По мне, вид функции по аналогии с КПП выглядит так:
# - забор >< - ворота П - дверь проходной "() {": ###П><### "() CRLF {" : ###П#><### |
Сообщ.
#12
,
|
|
|
забавно, я думал буду в меньшинстве с CRLF (помня про хмм... фантастический стиль наиболее популярных проектов).
|
Сообщ.
#13
,
|
|
|
Цитата negram @ О, хоть один нормальный холиварчик Чем же он нормальный? Избитый, затёртый до дыр, пройденный вдоль и поперёк. И где вариант без скобок — индентация только? =) А в ML, например, часто используется такой вариант: <expression>/<declaration> = begin <statement> ; ... end Голосовал за 2-й вариант, т.к. в таком синтаксисе рассматриваю (<заголовок блока> <признак начала блока>) как одно целое, на одну строку. |
Сообщ.
#14
,
|
|
|
P.S. Сначала подумал, какого чёрта, куда пропал первый radio-button:
Прикреплённая картинка
|
Сообщ.
#15
,
|
|
|
Цитата korvin @ Ага, я тоже. Сначала подумал, какого чёрта, куда пропал первый radio-button |
Сообщ.
#16
,
|
|
|
это лишний_износ_каретки() { возврат_строки тоже_износ; return зло; } // Ктулху одобряет а это() { return добро; } Размер табуляции, отличный 2-х знакомест, должен быть вынесен во второй Нюрнбергский процесс, в качестве обвиняемого. Особо опасные злодеяния - занятие табуляцией 4-х знакомест. |
Сообщ.
#17
,
|
|
|
Забавно, несколько лет назад я аналогичный тред создавал.
Сам сейчас придерживаюсь 1TBS (Java), к большинству распространенных схем отношусь терпимо (кроме полного извращения типа GNU-style со скобками, подвинутыми на пол-таба), а в нерабочее просто юзаю языки без скобочкинга Добавлено Цитата JoeUser @ Размер табуляции, отличный 2-х знакомест, должен быть вынесен во второй Нюрнбергский процесс, в качестве обвиняемого. Особо опасные злодеяния - занятие табуляцией 4-х знакомест. Я придерживаюсь мнения Линуса (таб должен быть виден невооруженным глазом. Если тебе не хватает горизонтального пространства с восьмипробельным табом, то ты говнокодишь). Скрытый текст Более того, я за табы |
Сообщ.
#18
,
|
|
|
Цитата JoeUser @ Размер табуляции, отличный 2-х знакомест, должен быть вынесен во второй Нюрнбергский процесс, в качестве обвиняемого. Особо опасные злодеяния - занятие табуляцией 4-х знакомест. Я пробовал в прошлых холиварах вбросить подобное - не вышло |
Сообщ.
#19
,
|
|
|
Все - представители сексуальных меньшинств, один я Д'Артаньян.
|
Сообщ.
#20
,
|
|
|
Цитата Da$aD @ Если тебе не хватает горизонтального пространства с восьмипробельным табом, то ты говнокодишь) Вполне хватает - просто я электричество экономлю |
Сообщ.
#21
,
|
|
|
Цитата JoeUser @ Размер табуляции, отличный 2-х знакомест, должен быть вынесен во второй Нюрнбергский процесс, в качестве обвиняемого. Размер табуляции в 2 пробела — ущербный костыль хипстеров, не умеющих писать код. |
Сообщ.
#22
,
|
|
|
Ша, ша. Передерётесь счас. Размер табуляции должен быть стандартным. Другое дело, что отступы должны выражаться не табами, а пробелами, и за использование табов в сырцах нужно линейкой по рукам. (А авторов make так вообще сослать на Марс. Пусть там новую цивилизацию строят, авось научатся уму-разуму. И дать им только Whitespace, нехай сначала себе C-компилер на нём напишут.)
|
Сообщ.
#23
,
|
|
|
Что ж, уже, похоже, наметилась тема для следующего голосования
|
Сообщ.
#24
,
|
|
|
Цитата Qraizer @ Другое дело, что отступы должны выражаться не табами, а пробелами, и за использование табов в сырцах нужно линейкой по рукам. Просто кто-то не умеет правильно пользоваться табами |
Сообщ.
#25
,
|
|
|
|
Сообщ.
#26
,
|
|
|
Цитата Qraizer @ Другое дело, что отступы должны выражаться не табами, а пробелами, и за использование табов в сырцах нужно линейкой по рукам. Я уже где-то кидал в параллельном треде чудесную ссылочку http://intellindent.info/seriously/... Добавлено Цитата OpenGL @ Просто кто-то не умеет правильно пользоваться табами |
Сообщ.
#27
,
|
|
|
Цитата korvin @ Размер табуляции в 2 пробела — ущербный костыль хипстеров, не умеющих писать код. Ущербная глупость |
Сообщ.
#28
,
|
|
|
А где вариант и не то и не другое?
|
Сообщ.
#29
,
|
|
|
Цитата Serafim @ А где вариант и не то и не другое? Даже и не говори всуе - за это расстрел в коридоре! Style Nazy не дремлют!!! |
Сообщ.
#30
,
|
|
|
Цитата JoeUser @ Даже и не говори всуе - за это расстрел в коридоре! Почему это? Когда есть стандарты общепринятые: https://www.php-fig.org/psr/psr-1/ Добавлено Т.е. в лямбдах, декларациях и операторах не переносится. В декларациях функций, методов и классов - переносится. При этом CRLF запрещён в пользу LF. As example: Скрытый текст <?php /** * This file is part of Railt package. * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ declare(strict_types=1); namespace Railt\Reflection\Standard\Scalars; use Railt\Reflection\Contracts\Document; use Railt\Reflection\Standard\StandardType; /** * RFC315 Implementation. * * @see https://github.com/facebook/graphql/pull/315 * @see https://github.com/graphql/graphql-js/issues/550 * @see https://github.com/graphql/graphql-js/pull/557 */ final class DateTimeType extends StringType implements StandardType { /** * The DateTime scalar public name constant. * This name will be used in the future as the * type name available for use in our schema. */ protected const SCALAR_TYPE_NAME = 'DateTime'; /** * Short DateTime scalar public description. */ protected const TYPE_DESCRIPTION = 'The complete set of date and time formats specified in ISO8601 is quite complex in an attempt to provide multiple representations and partial representations.'; /** * @param Document $document */ public function __construct(Document $document) { parent::__construct($document); $this->deprecationReason = static::RFC_IMPL_DESCRIPTION; } /** * @param mixed|string $value * @return bool */ public function isCompatible($value): bool { if (\is_string($value)) { return $this->verifyDate($value); } return false; } /** * @param $value * @return bool */ private function verifyDate($value): bool { try { new \DateTime($value); return true; } catch (\Throwable $error) { return false; } } } |
Сообщ.
#31
,
|
|
|
ХА, наши побеждают) 15 против 13
|
Сообщ.
#32
,
|
|
|
Цитата VisualProg @ лемминги ХА, наши побеждают) |
Сообщ.
#33
,
|
|
|
Вот как тут проголосовать?
class X { public: X(int x) : x(m_x) { m_y = 2 * m_x; } int f(int n); private: int m_x, m_y; }; int X::f(int n) { int x = 0; for (int i = 0; i < n; ++i) { x += n; } return x; } int a[] = { 0, -1, -2, -3, -4 }; int b[] = { 1, 2, 3, 4, 5, 11, 12, 13, 14, 15, 21, 22, 23, 24, 25, 31, 32, 33, 34, 35 }; |
Сообщ.
#34
,
|
|
|
() { } это стиль начинающих. |
Сообщ.
#35
,
|
|
|
Цитата VisualProg @ ХА, наши побеждают) 15 против 13 Тут надо уточнять, кто эти "наши". А то вдруг это неправильные какие-то, а я сижу молчу, а не холиварю |
Сообщ.
#36
,
|
|
|
Цитата scrambrella @ это стиль начинающих. А ты типа продвинутый уже? |