Няшная / Говнокод #5722 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
static int getDns(int eid, webs_t wp, int argc, char_t **argv)
{
        //....тут были еще переменные...
        int type, idx = 0, req = 0;

        if (ejArgs(argc, argv, T("%d"), &type) == 1) {
                if (1 == type)
                        req = 1;
                else if (2 == type)
                        req = 2;
                else
                        return websWrite(wp, T(""));
        }
        //...дальше операции с req...
}

Такой вот китайский код демона goahead, пользуемого в embedded железяках...

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

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

    • Заведение отдельной переменной, единственная суть которой - фильтрация входных данных, и которую вместе со всеми извращениями можно было бы заменить одной строкой if (type<1||type>2) return бла-бла-бла...
      P.S. Там же, только в яваскриптах веб-обвязки, не менее шедевральные говнокоды последовательной проверки валидности введенных переменных полотнами на пару экранов текста - вместо того, чтобы забить их в массив и запустить проверку в цикле.
      Ответить
      • Т.е. говнокод только в том, в том, что вместо двух переменных type и req можно было бы использовать одну? Ну да это мелочь, с таким сюда даже стыдно.
        Ответить
        • Говнокод в том, что реализуется через жопу. Будь там скажем 5 значений - думается, это же растянули бы на 5 if...else if
          Хотя что с китайцев взять...
          Ответить
          • А если бы значения req не соответствовали бы значениям type? Будь там 5 значений, вероятность этого была бы больше. Приведённый код не даёт уверенности, что это именно говнокод, а не временный код в процессе разработки.
            Ответить
            • Угу, а если бы у бабушки был член - она бы была дедушкой.
              Конкретно этот код - из функции получения списка ДНС, type - порядковый номер записи. И из кода четко видно, что req присваивается значение type если оно равно 1 или 2, иначе - завершение.
              И код этот не временный процесса разработки, а вполне себе из готового продукта, поставляемого в комплекте как SDK для разработчиков девайсов на Ralink SoC, так и собссно в комплекте готовых устройств на этой платформе.
              Ответить
              • >Угу, а если бы у бабушки был член - она бы была дедушкой.
                Не угу.
                Женщин отличает от мужчины не наличие "причиндалов" (сейчас всякие операции проводят), а потенциальная запрограммированная возможность вынашивать и рожать детей (XX-хромосома).
                Ответить
  • ради интереса загуглил, оказался сайтик в копроративном стиле, а на там список фич, одной из них, видимо, жутко гордятся, т.к. включили в список дважды:
    * Security via HTTP 1.0 basic encoding
    Ответить

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

Помни, guest, за тобой могут следить!

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


    8