1. Лучший говнокод

    В номинации:
    За время:
  2. Куча / Говнокод #25434

    +3

    1. 1
    MSDN: To obtain the full version number for the operating system, call the GetFileVersionInfo function on one of the system DLLs, such as Kernel32.dll

    В Windows функции вроде GetVersion задепрекейтили (и остальные более новые функции из SDK) и теперь они всегда возвращают "Windows 8" в том числе на десятке, если приложения не манифестить или ещё чего (а манифестить не всегда возможно, если допустим, разрабатывается плагин под другой софт). В итоге в API куча непонятных правил и разных ЕСЛИ, и нет уверенности в том, реальную ли версию Винды нам возвращает функция, или это опять какой-то shim.

    С появлением rapid release cycle в Windows и автоапдейтов появляется проблема: новые апдейты постоянно ломают ранее рабочий софт. Для этого нужно делать workaround'ы: смотреть какой там у нас билд (1803? 1809?) и включать нужный костыль. Видимо, самим в Microsoft это надоело, что они на полном серьёзе предлагают смотреть file version у каких-нибудь системных файлов в системной папке, чтобы узнать версию ОС наверняка. Официальный говнокод от Майкрософт.

    KGeist, 08 Марта 2019

    Комментарии (11)
  3. JavaScript / Говнокод #25378

    +2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    checkDateNP(value) {
            const date = new Date(value)
            const dateValue = date.setDate(date.getDate() + 1)
    
            return formatDate(dateValue, 'DD-MM-YYYY') === formatDate(this.item.date, 'DD-MM-YYYY') &&
            formatDate(dateValue, 'DD-MM-YYYY') === formatDate(this.item.dateEnd, 'DD-MM-YYYY')
          },
    
          checkDateOther(value) { // Проверка корреткности ввода данных по заявкам типа "КА" и "МС".
            return formatDate(this.item.startTime, 'DD-MM-YYYY') >= formatDate(this.item.date, 'DD-MM-YYYY')
          }
        }

    VueJs. Проверка корреткности ввода данных по заявкам

    DKVitol, 14 Февраля 2019

    Комментарии (11)
  4. C++ / Говнокод #25343

    −1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    // https://habr.com/ru/company/jugru/blog/438260/
    
    template<Semiregular T>
    struct maybe_view : view_interface<maybe_view<T>> {
      maybe_view() = default;
      maybe_view(T t) : data_(std::move(t)) {
      }
      T const *begin() const noexcept {
        return data_ ? &*data_ : nullptr;
      }
      T const *end() const noexcept {
        return data_ ? &*data_ + 1 : nullptr;
      }
    private:
      optional<T> data_{};
    };
    inline constexpr auto for_each =
      []<Range R,
         Iterator I = iterator_t<R>,
         IndirectUnaryInvocable<I> Fun>(R&& r, Fun fun)
            requires Range<indirect_result_t<Fun, I>> {
          return std::forward<R>(r)
            | view::transform(std::move(fun))
            | view::join;
      };
    inline constexpr auto yield_if =
      []<Semiregular T>(bool b, T x) {
        return b ? maybe_view{std::move(x)}
                 : maybe_view<T>{};
      };
    
    /*
    > Быть может, что для кого-то это язык родной, но для меня всё
    это ощущается как если бы кто-то решил, что Perl излишне читабельный,
    а Brainfuck — излишне нечитабельный, поэтому давайте целиться между
    ними. Я программировал в основном на C++ все последние 20 лет. Может
    быть, я слишком тупой, чтобы во всём этом разобраться, отлично.
    */

    Какой багор)))

    j123123, 31 Января 2019

    Комментарии (11)
  5. C# / Говнокод #25306

    +3

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    private static byte shitleft(byte shiftbyte, int shiftno)
    {
        string newbyte2 = Convert.ToString(shiftbyte, 2);
        newbyte2 = newbyte2.PadLeft(8, '0');
    
        string newbyte = "";
        if (shiftno == 0) return shiftbyte;
        else if (shiftno > 7) return 0;
    
        for (int bytecount = 0 + shiftno; bytecount < shiftno + 8; bytecount++)
        {
            if (bytecount > 7) newbyte += newbyte2[bytecount - 8].ToString();
            else newbyte += newbyte2[bytecount].ToString();
        }
        return Convert.ToByte(newbyte, 2);
    }

    Циклический сдвиг. Тоже самое без проверок: (byte)((shiftbyte << shiftno) | (shiftbyte >> (8 - shiftno)))

    Nyamka, 13 Января 2019

    Комментарии (11)
  6. PHP / Говнокод #25271

    0

    1. 1
    2. 2
    Жил был Иван. Было у него всё - и деньги, и машина, и секс, и родители, и дом и, вообщем, много чего ещё.
    И вот решил как-то Ваня выучить php. Выучил, и тут же всё потерял, потому что разучился думать и деградировал до состояния двутавровой балки.

    Ksyrx, 03 Января 2019

    Комментарии (11)
  7. Куча / Говнокод #25218

    0

    1. 1
    Разупоритесь-тред.

    Под какой файкой нынче сидит доктор[]инхо[/s]?

    ilya2184, 24 Декабря 2018

    Комментарии (11)
  8. C++ / Говнокод #25032

    0

    1. 1
    2. 2
    3. 3
    https://github.com/GSC-fake/Cossacks-back-to-war/blob/master/BackToWar_135/addon_2_project/ADDON_2_PROJECT/ADDON_PROJECT_130
    
    Исходный код казаков. Трезвым лучше не читать. Я вас предупредил.

    a1batross, 29 Октября 2018

    Комментарии (11)
  9. Куча / Говнокод #24862

    −11

    1. 1
    Кто работал в "Luxoft"?

    Perevedi_na_PHP, 04 Октября 2018

    Комментарии (11)
  10. C# / Говнокод #24809

    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
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    frm.ShowDialog(); 
    if (frm.DialogResult == DialogResult.OK) 
    { 
    string s = ""; 
    if (frm.chkResident.Checked == true) 
    s = "-ДА-"; 
    else 
    s = "-НЕТ-"; 
    s = "Резидент: " + s + ", страна рождения: " + frm.cmbCountryBirth.Text.Trim() + ", дата рождения: " + frm.dtpBirth.Value.ToShortDateString() + " г., место рождения: " + frm.txtPlaceBorn.Text.Trim() + (char)13 + (char)10; 
    s = s + "тип ДУЛ: " + frm.cmbDUL.Text.Trim() + ", дата выдачи ДУЛ: " + frm.dtpDUL.Value.ToShortDateString() + " г."; 
    if (frm.dtpEndDUL.Value.ToShortDateString() != "01.01.1900") 
    s = s + ", дата окончания ДУЛ: " + frm.dtpEndDUL.Value.ToShortDateString() + " г."; 
    s = s + (char)13 + (char)10; 
    s = s + "Серия и номер ДУЛ: " + frm.txtDUL.Text.Trim() + ", страна выдачи ДУЛ: " + frm.cmbLandDUL.Text.Trim() + ", орган выдачи ДУЛ: " + frm.txtIssue.Text.Trim() + (char)13 + (char)10; 
    
    if (frm.txtDUL2.Text.Trim() != "") 
    { 
    s = s + "тип ДУЛ2: " + frm.cmbDUL2.Text.Trim() + ", дата выдачи ДУЛ2:" + frm.dtpDUL2.Value.ToShortDateString() + " г."; 
    if (frm.dtpEndDUL2.Value.ToShortDateString() != "01.01.1900") 
    s = s + ", дата окончания ДУЛ2: " + frm.dtpEndDUL2.Value.ToShortDateString() + " г."; 
    s = s + (char)13 + (char)10; 
    s = s + "Серия и номер ДУЛ2: " + frm.txtDUL2.Text.Trim() + ", страна выдачи ДУЛ2: " + frm.cmbLandDUL2.Text.Trim() + ", орган выдачи ДУЛ2: " + frm.txtIssue2.Text.Trim() + (char)13 + (char)10; 
    } 
    
    s = s + "---------------------------------------------------------------" + (char)13 + (char)10; 
    s = s + "Адрес:" + (char)13 + (char)10; 
    s = s + "Строка 1:" + frm.txtAddress1.Text.Trim() + (char)13 + (char)10; 
    s = s + "Строка 2:" + frm.txtAddress2.Text.Trim() + (char)13 + (char)10; 
    s = s + "Штат: " + frm.txtState.Text.Trim() + ", нас. пункт: " + frm.txtPunkt.Text.Trim() + ", индекс: " + frm.txtPOSTINDEX.Text.Trim() + ", страна: " + frm.cmbLand.Text.Trim() + (char)13 + (char)10; 
    s = s + "Тел. код: " + frm.cmbPhoneCode.Text.Trim() + ", мобильный номер: " + frm.txtPhone.Text.Trim();

    У меня нет слов...

    awesome3000, 25 Сентября 2018

    Комментарии (11)
  11. Куча / Говнокод #24795

    −3

    1. 1
    Внимайте мне, Земли обитатели!

    Я открою вам истину, которую веками скрывали от вас – число ноль является ничем иным как выдумкой враждебной к вам Галактической Империи. Он является лишь помехой в вычислениях, и привел к деградации вашей цивилизации. Откажитесь от него! И математика простой и понятной станет, и вам путь к просветлению и силе откроется!

    MasterJoda, 21 Сентября 2018

    Комментарии (11)