1. JavaScript / Говнокод #26907

    −1

    1. 1
    // https://habr.com/ru/company/ruvds/blog/515676/

    Разбор худшего в мире куска кода.

    Запостил: GDMaster, 02 Сентября 2020

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

    • смеш0н мне нахрюк на неизвестную ошибку в комментах. Сразу видно, что питух никогда не писал на сишечке под проприетарное апи
      Ответить
    • Это реальный код из продакшена или кто-то просто выебнулся?
      Ответить
    • if (account.username === username &&
              account.password !== password) {
      console.error(`Пароль ${account.password}, а вы ввели {password}`);
      }
      Ответить
    • Вот это норм

      https://gist.github.com/ForNeVeR/9001938
      Ответить
      • я так примерно в детстве на борланд паскале писал, думаю все так делали
        Ответить
        • Да, оказалось, что это школолокод, увы
          Ответить
          • у автора даже свой сайт есть. Там статьи про покупку объектива на авито

            Но вообще чтобы понять, что километровая портянка из переменных soldat49 и komnata22 это плохо, нужна пара лет опыта обычно.
            Ответить
        • Посмотри мой первый говнокод, как раз таки борманд паскаль и бесконечная лесенка из ифов.
          Ответить
          • Лол, ровно год назад MAPTbIwKA в нём уже оффтопила
            Ответить
            • Кстати, я вот смотрю на этот код и думаю, что сейчас я бы тупо не смог это запилить. Начал бы думать про архитектуру, про то как убрать копипасту и т.п. А тогда - хуяк-хуяк за пару дней и всё работает.
              Ответить
              • Да ладно. Взял бы flex/yacc/antlr/parsec и не стал бы заморачиваться. Разве нет?
                Ответить
              • +1.

                В какой-то момент я мог написать что угодно. Бери, да пиши.
                А теперь начинаешь думать как сделать правильно, и пиздец.
                Ответить
              • Профдеформация
                Ответить
            • Да кто там только не срал.
              Ответить
              • Это хлеб!
                Ответить
              • Там -- это в море?

                Ты посмотрел, кстати?
                Ответить
                • Что?
                  Ответить
                  • Фильм
                    Ответить
                    • Какой?
                      Ответить
                      • Фильм про то, как Пахом в море насрал. Залез, и насрал. Там море такое типа черного.. Азов чтоли.. Он пьяный был. Три топора выпил
                        Ответить
                        • Как можно выпить топор?
                          Ответить
                          • Какой же ты серый и унылый... Твой мозг не обучен расставлять знаки препинания "на лету"?.. Может, потому, что ты негърамотный?..

                            Небось, ещё и 'сплин' слушаеш-ш-ш-ш-шшшшш....
                            Ответить
    • Всё таки руби -- клвый
      puts %w(Но от жадности ква-ква и от глупости ква-ква).tally
      # {"Но"=>1, "от"=>2, "жадности"=>1, "ква-ква"=>2, "и"=>1, "глупости"=>1}

      а ваш язык так может?
      Ответить
      • print(table(strsplit("Но от жадности ква-ква и от глупости ква-ква", " ")))


        глупости жадности        и  ква-ква       Но       от 
               1        1        1        2        1        2


        А то, что %w никому не нужен, уже обсуждалось.
        Ответить
        • конечно же нужен. Вон ты сколько сраных кавычек высрал
          Ответить
        • постой

          а давно ты знаешь R?
          Ответить
          • Чуть раньше, чем вуз окончил, а что?
            Ответить
            • а в чем ты пеишеш? в R Studio? А R Plugin intellij пробовал?
              Ответить
              • R Studio.
                Плагин не пробовал, а что, что-то стоящее?
                Ответить
                • Хум хау. Если ты используешь что-то на основе Intellij (CLion там какой нить) то может быть стоит взглянуть
                  https://plugins.jetbrains.com/plugin/6632-r-language-for-intellij
                  там картиночки есть
                  Ответить
                  • Выглядит норм. В следующий раз попробую.
                    Ответить
                    • И сейчас попробуешь. Открой рот, у меня уже течет...
                      Ответить
            • Твоя компания, 3_dar?
              https://www.food-meet.com/catalog/myaso-10/tridar-ooo-2572/
              Ответить
      • <?php var_export(array_count_values(explode(' ', 'Но от жадности ква-ква и от глупости ква-ква')));


        https://ideone.com/kBR5M4
        Ответить
        • фу как длино вербозно и еще с кавычками
          Ответить
          • В любом случае короче, чем в «крестах».
            Ответить
            • Это правда

              Но у руби все равно все смокчут

              Инь, там опять рак набижал. Я тебе давно грю -- бань рака по ипу
              Ответить
      • std::istream_iterator b(std::stringstream(s)), e;
        std::map<std::string, size_t> counts;
        for (auto i = b; b != e; ++b)
            counts[*b]++;
        for (auto [word, count] : counts)
            std::cout << word << " " << count << std::endl;
        Ответить
        • Как всё сложно. Именно поэтому я за «PHP».
          Ответить
        • фу как вербозно
          Ответить
          • Ваш язык просто не может в такую вербозность, вот вы и завидуете.
            Ответить
            • спорим, что на джаве я могу написать более вербозно?
              Ответить
              • На джаве по-моему сплит есть, так что даже покороче выйдет.
                Ответить
                • да, то считат придеца вручную
                  Ответить
                  • А мапу разве не получится заюзать для подсчета?
                    Ответить
                    • получится, но это все равно долго: сначала сплитим, потом итерируемся, проверяем слово в мапе, увеличиваем счетчик, потом еще ее вывести нужно красиво
                      Ответить
                      • А, там нету каких-нибудь getOrDefault? Надо именно проверять перед обращением?
                        Ответить
      • Мой язык имеет npm
        const _ = require('lodash');
        
        console.log(_.countBy('Но от жадности ква-ква и от глупости ква-ква'.split(' ')));
        Ответить
        • фу вот еще стороннюю либу ставить, и кавычки еще эти
          Ответить
      • print(str.split(separator: " ").reduce(into: [:]) { $0[$1, default: 0] += 1 })
        Ответить
        • ой как длинно
          Ответить
          • Для не-скриптушни совсем не длинно

            p.s. что-то ГК начал проглатывать комментарии
            Ответить
            • > p.s. что-то ГК начал проглатывать комментарии
              Это как?
              Ответить
              • Да отправляю, а они потом не добавляются. То ли мне мерещится, что я отправляю, но уже во второй раз так
                Ответить
                • К чему такие потуги? Возьми член в рот и расслабься.
                  Ответить
      • Давайте будем честны: без чтения доки доки ни один петух не поймёт, что такое «tally». Именно поэтому я за «Python».
        >>> from collections import Counter
        >>> Counter('Но от жадности ква-ква и от глупости ква-ква'.split(' '))
        Counter({'от': 2, 'ква-ква': 2, 'Но': 1, 'жадности': 1, 'и': 1, 'глупости': 1})
        Ответить
        • Давайте будем честны: без чтения доки доки ни один петух не поймёт, что такое «Counter»
          Ответить
      • еще бы по-человечески на методы можно было ссылаться (как в йаже да шарпее), цены бы не было (да, я знаю про &:xyz, это не то).
        Ответить

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