1. Swift / Говнокод #23687

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    func stateDidChange(contorl: TitledTextField?, isEpmtyState: Bool) {
        
        let  userCodeisEpmtyState = (contorl == userCodeTextView) ? isEpmtyState : (userCodeTextView.textValue().isEmpty)
        let  authCodeisEpmtyState = (contorl == authCodeTextView) ? isEpmtyState : (authCodeTextView.textValue().isEmpty)
        changeEnterAvailabilityAccoardingToTextFieldsOccupancy (userCodeisEpmtyState, authCodeisEpmtyState)
    }
    /*
     * Метод устанавливает активность кнопки энтер взависимости от заполнения текстовых полей
     */
    private func changeEnterAvailabilityAccoardingToTextFieldsOccupancy(_ userCodeisEpmtyState: Bool, _ authCodeisEpmtyState: Bool) {
        enter.isEnabled = !userCodeisEpmtyState && !authCodeisEpmtyState
    }

    Кто-то очень спешил выпустить версию, что пустота стала чем-то непонятным.
    Да и вообще знание языков у человека на высшем уровне, вы ничего не понимаете!
    А пробелов у меня ограниченное количество, буду их тыкать вдвойне после let, зато не буду их ставить после метода и всё будет ОК.

    Запостил: wwweshka, 30 Января 2018

    Комментарии (26) RSS

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

      З.Ы. Понятно, что кодестайл иногда заставляет, но как-то же к нему пришли.
      Ответить
      • Это последствия отсутствия кодстайла. Бесит, все пишут по по-одному, а один человек пишет вот так -_-
        Ответить
        • Ставьте автоформаттер на CI (если у вас, конечно, есть CI)
          Ответить
          • народ пытался делать проверку на чек-ине: сырец форматиться во временный файл, потом сравнивается с тем что чек-инится, и если есть разница, то чек-ин обламывается. но это было безуспешно. проблема в том что ни один автоформаттер полностью крестовый или ц код форматить не умеет. кроме GreatCode, само собой разумеется - но его нормально сконфигурить это гемор еще тот (и выравнять с настройками того же эклипса тоже жопа).
            Ответить
            • clang-format сносно форматирует. Не идеально, но уж лучше так.
              Ответить
              • не помню уже деталей, но большинство форматтеров - они в 90% случаев только индентируют.

                а там как раз народ и хотел сделать что бы в `int func() {` или `switch() {` скобку кривую на следующую строку сносило.

                пара исключений была - но все остальные форматтеры в лоб не могли этого делать.

                astyle помнится был тогда самым близким к тому что народ хотел, но он какую-то мелкую фичу не форматил, и тоже пролетел в конце.
                Ответить
                • > а там как раз народ и хотел сделать что бы в `int func() {` или `switch() {` скобку кривую на следующую строку сносило.

                  https://clang.llvm.org/docs/ClangFormatStyleOptions.html

                  BraceWrapping
                  Ответить
              • Поддерживает ли он -style=tarasb.format?
                Ответить
            • Ну, как вариант, можно настроить Swiftlint, установить всё-всё-всё как error и лупить по морде, если не будет использовать.
              Ответить
      • > зачем люди ставят пробел между именем метода и круглой скобочкой

        Мне всегда казалось, что в си-подобных языках так только латентные лисперы зачем-то делают. Во всяком случае, извращенский GNU style такое проповедует, в GTK-коде всё такое.
        https://www.gnu.org/prep/standards/standards.html#Formatting
        С другой стороны, в SML/OCaml/Haskell/... вообще все так пишут, по понятным причинам.
        Ответить
        • if (x < foo (y, z))
            haha = bar[4] + 5;
          else
            {
              while (z)
                {
                  haha += foo (z, z);
                  z--;
                }
              return ++x + bar ();
            }

          Они там совсем ебанутые.
          Ответить
          • > Они там совсем ебанутые.


            First off, I’d suggest printing out a copy of the GNU coding standards, and NOT read it. Burn them, it’s a great symbolic gesture.

            -- https://www.kernel.org/doc/html/v4.10/process/coding-style.html
            Ответить
            • Че за хуйню вы тут обсуждаете?
              Ответить
            • Tabs are 8 characters, and thus indentations are also 8 characters. There are heretic movements that try to make indentations 4 (or even 2!) characters deep, and that is akin to trying to define the value of PI to be 3.

              Есть же еще больные трёхпробельные извращенцы.
              Ответить
            • > > https://www.kernel.org/doc/html/v4.10/process/coding-style.html

              > > First off, I’d suggest printing out a copy of the GNU coding standards, and NOT read it. Burn them, it’s a great symbolic gesture.

              только что поискал. в первые появился этот файл (и эта цитата) в linux-1.3.53/linux/Documentation/CodingStyle - датирован 1995.12.31 13:32

              20 лет ёпта... и до сих пор правда.
              Ответить
      • А ебанутость с case внутри switch без пробелов кто придумал?
        switch (...) 
        {
        case 1: ...
        case 2: ...
        }
        Ответить
        • я так пишу
          Ответить
        • Как вообще свищ можно отформатировать так, чтобы он не вонял?
          Этот питух в любом виде выглядит настолько громоздко и нелепо, насколько это возможно. Один уровень вложенности - слишком мало, два - слишком много. "case" и "default" раздувают код.
          Свищ в свище - отдельная боль.
          Ответить
          • Япониял! Сишный свищ обладает способностью делать программы интереснее.

            Так смотришь — скукота ifы, forы, блоки кода, а вот особо изощрённые свищи можно медитировать часами.
            Ответить
            • Сплавленный с циклом, свищ открывает для сишника портал в мир счастья, где он может ещё эффективнее экономить байты, писать макросы и разговаривать с Царём напрямую, а не через молитвы сторонние сайты. В этом мире не кровь, но сам стандарт начинает течь по жилам.
              Ответить
              • > Сплавленный с goto
                Я исправила
                Ответить
              • >Сплавленный с циклом, свищ открывает для сишника портал в мир счастья, где он может ещё эффективнее экономить байты

                На самом деле для finite state machine дырявый сишнкосвищ самое оно.

                Частенько предотвращает дублирование кода, позволяя при этом избежать goto, а также неэффективного питушения с указателями на лямбдофункции и педерач туда контекста свища.
                Ответить

    Добавить комментарий