На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: ANDLL, ALXR
  
> () <CRLF> { ИЛИ () { , C++
   
() <CRLF> { ИЛИ () {
Гости не могут просматривать результаты голосования.
Гости не могут голосовать 
    Продолжаем :)
    Прикреплённая картинка
    Прикреплённая картинка
    Сообщение отредактировано: B.V. -
      А что означает третий вариант? Иногда пишу что-то вроде
      ExpandedWrap disabled
        int f(int a) {return a + 42;}
        int g(int a) {return a - 42;}
      но это только для ну очень коротких однострочников вроде этих - это оно? :)
      Сообщение отредактировано: OpenGL -
        Второй вариант. Но перед первой "дверью" нужно пробел ставить.
        Вариант OpenGL'я - одобряю так же.
          И про goto не забудьте. А то как же без него-то...
            Qraizer, не забывать про goto - это для слабаков! :lol:
            B.V., <CRLF> надо заменить на \n - иначе упустишь мнение юниксоидов и маковчан! 8-)
              Цитата OpenGL @
              А что означает третий вариант?

              Не, ну как в примере -- имеет право на жизнь. Особенно в конструкторах-деструкторах. А третий пункт -- это полный отказ от переносов. Один из методов обфускации
                Первый и только первый вариант! :angry:
                Всех, кто второй - расстрелять! жестоко наказывать!
                Вариант-экзотику OpenGL'я считать очевидным и полностью правильным. :blush:

                Добавлено
                П.С. в картинке как пропаганда идёт - использование возврата непосредственно перед функцией, отбрасывая вариант:
                Цитата
                int
                func()
                Я делаю - фифти-фифти = когда как. <_<
                  О, хоть один нормальный холиварчик :)

                  Добавлено
                  Вспомнилась старая шутка:
                  Цитата
                  Мой знакомый пишет на Perl так: 80 символов потом перенос строки
                    Ну как бы должно быть единое образие, верно?
                    Принципиально вопрос такой - как правильнее:
                    Вариант 1:
                    ExpandedWrap disabled
                      <заголовок блока> <признак начала блока>
                      <тело блока>
                      <признак конца блока>

                    Вариант 2:
                    ExpandedWrap disabled
                      <заголовок блока>
                      <признак начала блока>
                      <тело блока>
                      <признак конца блока>

                    Блок кода в разных языках выделяется разными конструктивами. И если в языках с си-подобным синтаксисом встречаются достаточно часто оба варианта, то посмотрите на языки, где признаки границ блока иные. Например, паскалеподобные языки или там SQL-диалекты... скажем, в SQL блок выделяется признаками BEGIN-END, и я пока не видел тех, кто сознательно использовал бы для таких блоков первый вариант... ну то есть видел, конечно, но наглядность получающегося кода при этом явно далека от желаемого уровня.
                      мне не нравится как шарп девелоп делает. после энтера я делаю скобку закрывающююся и он тоже ставит.
                        По мне, вид функции по аналогии с КПП выглядит так:
                        ExpandedWrap disabled
                          # - забор
                          >< - ворота
                          П - дверь проходной
                          "() {":       ###П><###
                          "() CRLF {" : ###П#><###
                        Естественно, голосовал за вариант без CRLF.
                          забавно, я думал буду в меньшинстве с CRLF (помня про хмм... фантастический стиль наиболее популярных проектов).
                          Сообщение отредактировано: Руслан -
                            Цитата negram @
                            О, хоть один нормальный холиварчик

                            Чем же он нормальный? Избитый, затёртый до дыр, пройденный вдоль и поперёк. И где вариант без скобок — индентация только? =)

                            А в ML, например, часто используется такой вариант:
                            ExpandedWrap disabled
                              <expression>/<declaration> =
                                begin
                                  <statement> ;
                                  ...
                                end


                            Голосовал за 2-й вариант, т.к. в таком синтаксисе рассматриваю (<заголовок блока> <признак начала блока>) как одно целое, на одну строку.
                              P.S. Сначала подумал, какого чёрта, куда пропал первый radio-button:

                              Прикреплённая картинка
                              Прикреплённая картинка
                                Цитата korvin @
                                Сначала подумал, какого чёрта, куда пропал первый radio-button
                                Ага, я тоже. :rolleyes:
                                  ExpandedWrap disabled
                                    это лишний_износ_каретки()
                                    {
                                      возврат_строки тоже_износ;
                                      return зло;
                                    }


                                  ExpandedWrap disabled
                                    // Ктулху одобряет
                                    а это() {
                                      return добро;
                                    }


                                  Размер табуляции, отличный 2-х знакомест, должен быть вынесен во второй Нюрнбергский процесс, в качестве обвиняемого.
                                  Особо опасные злодеяния - занятие табуляцией 4-х знакомест.
                                    Забавно, несколько лет назад я аналогичный тред создавал.

                                    Сам сейчас придерживаюсь 1TBS (Java), к большинству распространенных схем отношусь терпимо (кроме полного извращения типа GNU-style со скобками, подвинутыми на пол-таба), а в нерабочее просто юзаю языки без скобочкинга :D

                                    Добавлено
                                    Цитата JoeUser @
                                    Размер табуляции, отличный 2-х знакомест, должен быть вынесен во второй Нюрнбергский процесс, в качестве обвиняемого.
                                    Особо опасные злодеяния - занятие табуляцией 4-х знакомест.


                                    Я придерживаюсь мнения Линуса (таб должен быть виден невооруженным глазом. Если тебе не хватает горизонтального пространства с восьмипробельным табом, то ты говнокодишь).

                                    Скрытый текст

                                    Более того, я за табы :D
                                      Цитата JoeUser @
                                      Размер табуляции, отличный 2-х знакомест, должен быть вынесен во второй Нюрнбергский процесс, в качестве обвиняемого.
                                      Особо опасные злодеяния - занятие табуляцией 4-х знакомест.

                                      Я пробовал в прошлых холиварах вбросить подобное - не вышло :(
                                        Все - представители сексуальных меньшинств, один я Д'Артаньян.
                                          Цитата Da$aD @
                                          Если тебе не хватает горизонтального пространства с восьмипробельным табом, то ты говнокодишь)

                                          Вполне хватает - просто я электричество экономлю :)
                                            Цитата JoeUser @
                                            Размер табуляции, отличный 2-х знакомест, должен быть вынесен во второй Нюрнбергский процесс, в качестве обвиняемого.

                                            Размер табуляции в 2 пробела — ущербный костыль хипстеров, не умеющих писать код.
                                              Ша, ша. Передерётесь счас. Размер табуляции должен быть стандартным. Другое дело, что отступы должны выражаться не табами, а пробелами, и за использование табов в сырцах нужно линейкой по рукам. (А авторов make так вообще сослать на Марс. Пусть там новую цивилизацию строят, авось научатся уму-разуму. И дать им только Whitespace, нехай сначала себе C-компилер на нём напишут.)
                                              Сообщение отредактировано: Qraizer -
                                                Что ж, уже, похоже, наметилась тема для следующего голосования :whistle:
                                                  Цитата Qraizer @
                                                  Другое дело, что отступы должны выражаться не табами, а пробелами, и за использование табов в сырцах нужно линейкой по рукам.

                                                  Просто кто-то не умеет правильно пользоваться табами :whistle:
                                                    :offtop:
                                                      Цитата Qraizer @
                                                      Другое дело, что отступы должны выражаться не табами, а пробелами, и за использование табов в сырцах нужно линейкой по рукам.

                                                      Я уже где-то кидал в параллельном треде чудесную ссылочку http://intellindent.info/seriously/...

                                                      Добавлено
                                                      Цитата OpenGL @
                                                      Просто кто-то не умеет правильно пользоваться табами

                                                      :good:
                                                        Цитата korvin @
                                                        Размер табуляции в 2 пробела — ущербный костыль хипстеров, не умеющих писать код.

                                                        Ущербная глупость :)
                                                          А где вариант и не то и не другое? :huh:
                                                            Цитата Serafim @
                                                            А где вариант и не то и не другое?

                                                            Даже и не говори всуе - за это расстрел в коридоре!
                                                            Style Nazy не дремлют!!!
                                                              Цитата JoeUser @
                                                              Даже и не говори всуе - за это расстрел в коридоре!

                                                              Почему это? Когда есть стандарты общепринятые: https://www.php-fig.org/psr/psr-1/

                                                              Добавлено
                                                              Т.е. в лямбдах, декларациях и операторах не переносится. В декларациях функций, методов и классов - переносится. При этом CRLF запрещён в пользу LF.

                                                              As example:

                                                              Скрытый текст
                                                              ExpandedWrap disabled
                                                                <?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;
                                                                        }
                                                                    }
                                                                }
                                                              Сообщение отредактировано: Serafim -
                                                                ХА, наши побеждают) 15 против 13
                                                                  Цитата VisualProg @
                                                                  ХА, наши побеждают)
                                                                  лемминги :)
                                                                    Вот как тут проголосовать? :)

                                                                    ExpandedWrap disabled
                                                                      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
                                                                        };
                                                                      ExpandedWrap disabled
                                                                        ()
                                                                        {
                                                                        }

                                                                      это стиль начинающих.
                                                                        Цитата VisualProg @
                                                                        ХА, наши побеждают) 15 против 13

                                                                        Тут надо уточнять, кто эти "наши". А то вдруг это неправильные какие-то, а я сижу молчу, а не холиварю :crazy:
                                                                          Цитата scrambrella @
                                                                          это стиль начинающих.

                                                                          А ты типа продвинутый уже?
                                                                          0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                                                          0 пользователей:


                                                                          Рейтинг@Mail.ru
                                                                          [ Script execution time: 0,1198 ]   [ 21 queries used ]   [ Generated: 29.03.24, 08:21 GMT ]