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

    В номинации:
    За время:
  2. JavaScript / Говнокод #25446

    +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
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    // http://pacipfs2.antizapret.prostovpn.org/proxy-ssl.js
    
    function FindProxyForURL(url, host) {
      if (d_ipaddr.length < 10) return "DIRECT"; // list is broken
    
      if (!az_initialized) {
        var prev_ipval = 0;
        for (var i = 0; i < d_ipaddr.length; i++) {
         d_ipaddr[i] = parseInt(d_ipaddr[i], 36) + prev_ipval;
         prev_ipval = d_ipaddr[i];
        }
        for (var i = 0; i < special.length; i++) {
         special[i][1] = nmfc(special[i][1]);
        }
        az_initialized = 1;
      }
    
      var shost;
      if (/\.(ru|co|cu|com|info|net|org|gov|edu|int|mil|biz|pp|ne|msk|spb|nnov|od|in|ho|cc|dn|i|tut|v|dp|sl|ddns|dyndns|livejournal|herokuapp|azurewebsites|cloudfront|ucoz|3dn|nov|linode|amazonaws|sl-reverse|kiev)\.[^.]+$/.test(host))
        shost = host.replace(/(.+)\.([^.]+\.[^.]+\.[^.]+$)/, "$2");
      else
        shost = host.replace(/(.+)\.([^.]+\.[^.]+$)/, "$2");
      // Script optimization, see https://bugs.chromium.org/p/chromium/issues/detail?id=678022
      for (var k in dn) {
        var r = new RegExp('\\.'+k+'$');
        if (r.test(shost)) {shost = shost.replace(r, dn[k]); break;}
      }
      var curarr;
      if (/^[a-d]/.test(shost)) curarr = d_ad;
      else if (/^[e-h]/.test(shost)) curarr = d_eh;
      else if (/^[i-l]/.test(shost)) curarr = d_il;
      else if (/^[m-p]/.test(shost)) curarr = d_mp;
      else if (/^[q-t]/.test(shost)) curarr = d_qt;
      else if (/^[u-z]/.test(shost)) curarr = d_uz;
      else curarr = d_other;
    
      var oip = dnsResolve(host);
      var iphex = "";
      if (oip) {
       iphex = oip.toString().split(".");
       iphex = parseInt(iphex[3]) + parseInt(iphex[2])*256 + parseInt(iphex[1])*65536 + parseInt(iphex[0])*16777216;
      }
      var yip = 0;
      if (iphex) {
       for (var i = 0; i < d_ipaddr.length; i++) {
        if (iphex === d_ipaddr[i]) {yip = 1; break;}
       }
      }
      for (var i = 0; i < curarr.length; i++) {
        if (yip === 1 || shost === curarr[i]) {
          return "HTTPS proxy.antizapret.prostovpn.org:3143; PROXY proxy.antizapret.prostovpn.org:3128; DIRECT";
        }
      }
      for (var i = 0; i < special.length; i++) {
        if (isInNet(oip, special[i][0], special[i][1])) {return "PROXY CCAHIHA.antizapret.prostovpn.org:3128; DIRECT;";}
      }
    
      return "DIRECT";
    }

    CCAHIHA

    j123123, 13 Марта 2019

    Комментарии (11)
  3. Куча / Говнокод #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)
  4. 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)
  5. 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)
  6. 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)
  7. PHP / Говнокод #25271

    0

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

    Ksyrx, 03 Января 2019

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

    0

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

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

    ilya2184, 24 Декабря 2018

    Комментарии (11)
  9. 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)
  10. Куча / Говнокод #24862

    −11

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

    Perevedi_na_PHP, 04 Октября 2018

    Комментарии (11)
  11. 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)