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

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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    foreach ($result->getDataCollection() as $data) {
        if (!$data->getStatus() === Status::PAID)
            continue;
    
        // ACTIONS
    }

    Зачем использовать !== если есть ===

    P/s
    Смотрим на if (

    genkaok, 21 Марта 2019

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

    +1

    1. 1
    2. 2
    3. 3
    Страйкер приде — почту почине!
    
    Грустно без уведомлений из любимой соцсети.

    gost, 21 Марта 2019

    Комментарии (10)
  4. Python / Говнокод #25459

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    with conn:
                cursor = conn.cursor()
                cursor.execute('UPDATE users SET creferals = creferals + 1 WHERE cid = ?', (inviter,))
                cursor.execute('INSERT INTO users VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)',
                               (datetime.strftime(datetime.now(),"%H:%M:%S %d.%m.%Y"), cid, username, 'main', 0, 0, 0, 0, 0, 0, 0, inviter, 'RUS'))
    conn.commit()

    Aristokraft, 21 Марта 2019

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

    +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
    !DOCTYPE html>
    <html>
    <%c++
        auto para=@@.get<std::map<std::string,std::string>>("parameters");
    %>
    <head>
        <meta charset="UTF-8">
        <title>{{ title }}</title>
    </head>
    <body>
        <%view header %>
        <%c++ if(para.size()>0){%>
        <H1>Parameters</H1>
        <table border="1">
          <tr>
            <th>name</th>
            <th>value</th>
          </tr>
          <%c++ for(auto iter:para){%>
          <tr>
            <td>{%iter.first%}</td>
            <td><%c++ $$<<iter.second;%></td>
          </tr>
          <%c++}%>
        </table>
        <%c++ }else{%>
        <H1>no parameter</H1>
        <%c++}%>
    </body>

    C++ шаблонизатор
    https://github.com/an-tao/drogon/blob/master/examples/simple_example/ListParaView.csp

    HEymHblu_nemyx, 19 Марта 2019

    Комментарии (12)
  6. C++ / Говнокод #25454

    +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
    template<typename T>
    class IsClassT {
      private:
        typedef char One;
        typedef struct { char a[2]; } Two;
        template<typename C> static One test(int C::*);
        // Will be chosen if T is anything except a class.
        template<typename C> static Two test(...);
      public:
        enum { Yes = sizeof(IsClassT<T>::test<T>(0)) == 1 };
        enum { No = !Yes };
    };

    Как эта поебота работает?
    Что такое "int C::*"?

    A3APTHblu_nemyx, 19 Марта 2019

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

    +1

    1. 1
    https://code.jsoftware.com/wiki/Jd/Guide

    > A db is a folder with a folder for each table. Each table folder has a folder for each column. Each folder has a few metadata files (prefix jd).

    Я знаю, что базы данных обычно хранятся в файлах. А зачем хранить их как здесь, в котологах и файлах? Мы же получаем в базе ограничения и баги файловой системы (типа https://code.jsoftware.com/wiki/Jd/Ops_common#names), а если хотим переносимости, то нескольких ФС.

    BEKTOPHblu_nETyX, 18 Марта 2019

    Комментарии (10)
  8. PHP / Говнокод #25450

    +1

    1. 1
    https://habr.com/ru/sandbox/127860/

    3_dar, 16 Марта 2019

    Комментарии (27)
  9. Си / Говнокод #25449

    +1

    1. 1
    #define BSWAP16(x) ( (uint16_t)(((uint32_t)x)*(1 | 1 << 16) >> 8) )

    j123123, 15 Марта 2019

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

    +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
    if ($_REQUEST['hash']==md5('2445355'.$uid.'__SECRET_KEY__')) {
      //доверяем вконтактику, и далее полагаем, что пользователь действительно авторизован там
      //для учетных записей пользователей я решил выделить логины вида vk-********
      $result = mysql_query("SELECT id, random, password FROM tracker_users WHERE username = 'vk-$uid'");
      setcookie('uid','');
      setcookie('pass','');
      if (mysql_num_rows($result)) {
        //пользователь авторизован, просто пересоздадим куки
        $user = mysql_fetch_assoc($result);
        mysql_query("UPDATE tracker_users SET name = '$name' WHERE username = 'vk-$uid' LIMIT 1");
        setcookie('pass',md5($user['random'].$user['password'].$user['random']));
        setcookie('uid',$user['id']);
      } else {
        //добавим запись в таблицу пользователей
        $random = mt_rand(100000,999999);
        $pwd = $uid . 'verysecretlonglongword-';
        $pid=md5(uniqid(rand(),true));
        mysql_query("INSERT INTO tracker_users 
          (username, name, password, random, id_level, email, style, language, flag, joined, lastconnect, pid, time_offset) VALUES 
          ('vk-$uid', '$name', '" . md5($pwd) . "', $random, 3, '', 5, 7, 0, NOW(), NOW(),'$pid', '0')");
        //вставили строчку, теперь создадим куки и перебросим на другую страницу
        setcookie('pass',md5($random.md5($pwd).$random));
        setcookie('uid',mysql_insert_id());
      }
      header("Location: /index.php");
    }

    https://habr.com/ru/post/126717/

    HEymHblu_nemyx, 10 Марта 2019

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