Куча говна / Говнокод #26367 Ссылка на оригинал

0

  1. 1
  2. 2
Граждане!
Пишите код на высокоуровневых языках!

Например, на паскале.
Программы на пасцале удобочитаемы, даже можно чуть вникнуть в задачу кода.
А то - хуй пойми, что означает например вот это:

byte_t vector_mult(const std::array<byte_t, 4>& v1, std::array<byte_t, 4>&& v2) {
  std::transform(begin(v1), end(v1), begin(v2), begin(v2),
    [](byte_t x, byte_t y) { return mapper.at(y)(x); });
  return std::accumulate(begin(v2), end(v2), byte_t(0), std::bit_xor<byte_t>());



...По крайней мере, код будет читабелен, а не состоять из потусторонних закорючек.

Запостил: AnalBoy AnalBoy, (Updated )

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

  • Узрел скрытую подначку на холивар тему ""си++" против "делфей""... не прокатит, можешь даже не пытацца.
    В сиподобных programmng languages тип перемённой пишется слева от ее имени, приведение типов тоже чуть специфичнее, чем в этих Твоих паскалях.
    Ответить
    • Есть сиподобных programmng languages тип перемённой пишется справа от имени, например Котлин и Go. В котельне можне даже опускать.
      Ответить
    • А как еще, если не слева и не справа? В си вот тип пишется вокруг идентификатора:
      int myArray[64]; 
      unsigned (*а)(char);
      Ответить
      • Ричи как бы говорит нам: "нехуй объявлять массив указателей на функции принимающих массив коллбеков принимающих коллбеки принимающих...".
        Ответить
        • А мне кажется, они о таких извращениях и не думали. Тогда просто писали код, который более-менее укладывался в голове. Раздутых приложений не было. Суперпроектирование, суперабстрагирование и множество ФВП не были нужны, тем более что всё это тормозило. И их использование никак не затрудняли, а просто не оптимизировали под эти редкие конструкции язык, т.к. тормоза даже идиот не хотел включать в программу.
          Ответить
          • >массив указателей на функции

            Это снижает перфоманс.

            В те времена Цари делали ультрахитрые свищи с дафф-девайсами и проваливанием.
            На ГК уже были куски кода из K&R.
            Ответить
  • > 4>& v1
    XNJ "NJ&

    Ксати, в стоке госта-бормана похожу кривой парсер код из поста.
    Ответить
    • А, тьфу ты, это часть "const std::array<byte_t, 4>& v1" просто я к крестам не привычен и не отличил сразу запятую-разделитель параметров шаблона от запятой-разделителя параметров функции.
      Ответить
    • Код на «C++» настолько сложно парсить, что даже сток не справляется.
      Видимо, [⁢code][⁢/code] в посте не парсится. Передал в инженерный отдел, что-нибудь придумаем.
      Ответить
  • Ну используется это как-то так:
    myvector v1 = getNormal();
    myvector v2 = v1 * v1;

    И все понятно - логика алгоритма видна, и эффективность при этом не страдает. А то вы залезли в кишки высокооптимизированной либы и жалуетесь, что СЛОЖНА.
    Ответить

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

Переведи на "PHP", guest!

    А не использовать ли нам bbcode?


    8