1. Python / Говнокод #17140

    −108

    1. 1
    2. 2
    if True: #зачем.
        ....

    На новом проекте. Радуют и код и комментарии)

    intestinalbrain, 20 Ноября 2014

    Комментарии (30)
  2. Си / Говнокод #17139

    +136

    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
    len += sprintf(event_xml_msg, XML_TAG_START, XML_KOKOKO_HTTP_PROTOCOL);
    
    	// Set <monitor-event>
    	len += sprintf(strend_ptr(event_xml_msg), XML_TAG_START, XML_MONITOR_EVENT_NODE_TREE);
    
    	// Set <date>
    	len += xml_string_add_tag(event_xml_msg, XML_MONITOR_EVENT_NODE_DATE, dt.date_b);
    
    	// Set <time>
    	len += xml_string_add_tag(event_xml_msg, XML_MONITOR_EVENT_NODE_TIME, dt.time_b);
    
    	// Set <product> Ex. "VersAtive"
    	len += xml_string_add_tag(event_xml_msg, XML_MONITOR_EVENT_NODE_PRODUCT, product_type);
    
    	// Set <entity code>
    	// Supposed to work for all union types
    	len += xml_int_add_tag(event_xml_msg, XML_MONITOR_EVENT_NODE_CODE, event_code);
    
    	// Set <severity>
    	//	len += xml_int_add_tag(event_xml_msg, XML_MONITOR_EVENT_NODE_SEVERITY, severity);
    	memset(severity_str, 0, sizeof(severity_str));
    	get_severity_string(severity, severity_str);
    	len += xml_string_add_tag(event_xml_msg, XML_MONITOR_EVENT_NODE_SEVERITY, severity_str);
    
    	// Set event entity name
    	len += xml_string_add_tag(event_xml_msg, XML_MONITOR_EVENT_NODE_ENTITY_TYPE, entity_name);
    
    	// Set event description
    	if((len + strlen(description)) > (payload_size - footer_size))
    	{
    		// TODO HANDLE
    		printf("Message description overflows buffer size.\n");
    		return false;
    	}
    	len += xml_cdata_string_add_tag(event_xml_msg, XML_MONITOR_EVENT_NODE_DESCRIPTION, description);
    
    	// Set params
    	add_xml_entity_params(event_xml_msg, entity_params);
    
    	// Close <monitor-event>
    	sprintf(strend_ptr(event_xml_msg), XML_TAG_END, XML_MONITOR_EVENT_NODE_TREE);
    
    	// Close <HTTPProtocol>
    	len += sprintf(strend_ptr(event_xml_msg), XML_TAG_END, XML_KOKOKO_HTTP_PROTOCOL);

    В проекте широко используется libmxml, а вот блять использовать его по назначению велосипедики не могут.

    codemonkey, 20 Ноября 2014

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

    +127

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    <div>
    	<label for="background-color">Choose a calor for background : </label>
    	<input id="background-color" type="color" value="#ff0000" onchange="javascript:document.getElementById('chosen-color').value = document.getElementById('background-color').value;"/>
    </div>
    <div>
    	<label for="chosen-color">You have chosen : </label>
    	<input id="chosen-color" type="text" readonly value="#ff0000"/>
    </div>

    Кроме того что тут inline JS event, да к автор еще умудряется использовать document.getElementById('choosen-value').value вместо this.value .

    volter9, 19 Ноября 2014

    Комментарии (7)
  4. Java / Говнокод #17137

    +73

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    public MyVirtualMachine(URL uri, String name, String username,
                String password) throws RemoteException, MalformedURLException {
    
    ...
    
              if (!name.equalsIgnoreCase(name)) {
                       continue;
              }
    }

    Использование одного и того же поля name при сравнении.
    http://wernerstrydom.com/2013/04/14/a-helper-class-to-manage-a-virtual-machine-in-vmware-vsphere-hypervisor-5-1/

    seriousden, 19 Ноября 2014

    Комментарии (140)
  5. JavaScript / Говнокод #17136

    +157

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    // replace old contents with new sorted
     if(!msie_browser){
      table.innerHTML = header + whitelist + blacklist;
     } else {
      // On f...ed Internet Explorer table.innerHTML is read only !!!
      // and we need to replace the whole table ...
      document.getElementById("for_msie").innerHTML =
       table_head + header + whitelist + blacklist + "</table>";
      table = document.getElementById("main_table");
     }

    Ultra Defragmenter report sorting engine.

    DIX315, 19 Ноября 2014

    Комментарии (18)
  6. JavaScript / Говнокод #17135

    +159

    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
    function get() {
      var a, g, d = app.vk.friend.OSS;
      1 > db.contacts.length && VK.api( "friends.get", {fields: "photo_rec,contacts"}, function ( j )
      {
        if ( j.response )
        {
          try
          {
            app.vk.friend.inited = !1;
            g = j.response.length;
            var e = [], b, f = null, m = null;
            for ( a = 0; a < g; a++ )
            {
              b = j.response[a].mobile_phone || "";
              var m = f = null, c = b.match( /\d/g );
              if ( !c || !(7 == c.length && "9" == c[0] || 10 == c.length || 11 == c.length) )
              {
                b = null;
              }
              b && 11 == c.length && (b = "bbbccccccc".replace( "a", c[0] ).replace( "b", c[1] ).replace( "b", c[2] ).replace( "b", c[3] ).replace( "c", c[4] ).replace( "c", c[5] ).replace( "c", c[6] ).replace( "c", c[7] ).replace( "c", c[8] ).replace( "c", c[9] ).replace( "c", c[10] ));
              b && 10 == c.length && (b = "bbbccccccc".replace( "b", c[0] ).replace( "b", c[1] ).replace( "b", c[2] ).replace( "c", c[3] ).replace( "c", c[4] ).replace( "c", c[5] ).replace( "c", c[6] ).replace( "c", c[7] ).replace( "c", c[8] ).replace( "c", c[9] ));
              b && (7 == c.length && "9" == c[0]) && (b = null);
              b && 10 == c.length && (f = c[0] + c[1] + c[2]);
              b && 11 == c.length && (f = c[1] + c[2] + c[3]);
              b && (e[e.length] = b);
              m = d[null != f ? 2 : 0];
              db.contacts[db.contacts.length] = {uid: j.response[a].uid, first_name: j.response[a].first_name, last_name: j.response[a].last_name, name: j.response[a].first_name + " " + j.response[a].last_name, photo: j.response[a].photo || j.response[a].photo_rec || j.response[a].photo_big, phoneOrig: j.response[a].mobile_phone || "", phone: b, mask: f, oper: m, oper_i: m == d[1] ? 2 : m != d[0] ? 1 : 0, app_status: 0}
            }
            var p, i = app.scnet.form.checkNumbers( e );
            g = i.SUBSCRIBER && i.SUBSCRIBER.length ? i.SUBSCRIBER.length : i.SUBSCRIBER ? 1 : 0;
            1 == g && (i.SUBSCRIBER = [i.SUBSCRIBER]);
            for ( a = 0; a < g; a++, p = null )
            {
              1 == i.SUBSCRIBER[a].SELF && (p = db.contacts.find( "phone", i.SUBSCRIBER[a].MSISDN )), p && (db.contacts.find( "phone", i.SUBSCRIBER[a].MSISDN ).oper = d[1], db.contacts.find( "phone", i.SUBSCRIBER[a].MSISDN ).oper_i = 2);
            }
            document.all ? setTimeout( app.vk.friend.getAppFri, 1E3 ) : document.all || app.vk.friend.getAppFri()
          }
          catch ( t )
          {}
        }
      } )
    }

    Здесь прекрасно всё, и как картины Босха можно рассматривать эту лапшу бесконечно.

    bodeaux, 19 Ноября 2014

    Комментарии (2)
  7. C++ / Говнокод #17134

    +55

    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
    On Wed, 29 Oct 2014 20:29:33 +0000
    via Digitalmars-d <[email protected]> wrote:
    
    > On Wednesday, 29 October 2014 at 20:13:34 UTC, ketmar via 
    > Digitalmars-d wrote:
    > > On Wed, 29 Oct 2014 13:07:38 -0700
    > > Walter Bright via Digitalmars-d <[email protected]> 
    > > wrote:
    > >
    > >> There are still two string types, something you can't quite 
    > >> escape dealing with.
    > > and D has three string types. it's even better than C++!
    > 
    > Only three? C++ has seven:
    > 
    > 1. const char*  /* zero terminated single byte*/
    > 2. const char*  /* zero terminated multi byte */
    > 3. const wchar_t*  /* zero terminated wide */
    > 4. std::string	
    > 5. std::wstring
    > 6. std::u16string
    > 7. std::u32string
    ah, D has those 'char*' family too, but i don't count them as string
    types. ok, C++ wins. again. ;-)

    Хоть и не код, но смешно.
    Источник: http://forum.dlang.org/thread/[email protected]?page=3

    rst256, 18 Ноября 2014

    Комментарии (34)
  8. Java / Говнокод #17133

    +83

    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
    private static boolean[][] set = {
    		{T, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, T, T, x, x, x, x, x, x, x, x, x, x, x, x, x, T, T, x, T, T, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x},
    		{x, T, T, T, T, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, T, x, x, G, T, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x},
    		{x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, T, x, x, x, x, T, x, x, x, x, x, x, x, T, T, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x},
    		{x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, T, x, x, x, x, x, x, x, x, x, x, x, x, T, x, x, T, T, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x},
    		{x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, T, x, x, x, x, T, x, T, x, x, x, x, x, T, T, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x},
    		{x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, T, T, T, T, T, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x},
    		{x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, T, T, T, T, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x},
    		{x, T, T, T, T, T, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, T, T, T, T, T, T, T, T, T, T, x, x, T, T, T, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x},
    		{x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, T, x, x, x, x, x, x, x, x, x, x, x, x, T, x, x, T, T, T, T, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x},
    		{x, T, T, T, T, T, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, T, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, T, T, T, T, T, T, T, T, T, T, x, x, T, T, T, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x},
    		{x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, T, x, T, T, T, T, T, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x},
    		{x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, T, T, T, T, T, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x},
    		{x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, T, T, T, T, T, T, T, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, T, x, x, x},
    		{T, x, x, x, x, x, T, T, T, T, T, x, T, x, T, T, x, T, T, T, T, x, x, T, T, T, T, T, T, T, T, x, x, x, T, T, x, T, T, T, x, x, x, x, x, x, x, x, x, x, x, x, T, x, T, T, T, T, T, x, x, x, T, T, T, T, T, x, x, T, T, x, x, x, x, x, x, x, x, x, x, T, x, x, x, T, x, x, x, x, x, x, x, T, x, x, T, x, T, x, x, T, T, x, x},
    		{x, x, x, x, x, x, x, x, x, x, x, x, x, x, T, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, T, T, T, T, T, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x},
    		{T, T, T, T, T, T, x, x, x, x, x, x, x, x, x, x, x, x, x, T, T, x, x, x, x, x, x, x, x, x, x, x, x, x, T, T, x, T, T, T, T, T, T, T, T, T, T, T, T, T, x, x, T, T, T, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, T, x, T, x, x, x, x, x, x, T, T, x, x, x, x, x, x, x, x, x, x, x, x},
    		{x, x, x, x, x, x, x, T, T, T, T, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x},
    		{x, x, x, x, x, x, x, x, x, x, x, x, T, x, x, T, x, x, T, x, T, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, T, T, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, T, x, x, T, x, T, x, x, x, x, x, x}
    
    	};

    Источник: http://sourceforge.net/p/squirrel-sql/code/HEAD/tree/tags/squirrelsql-3.4.0/app/src/main/java/net/sourceforge/squirrel_sql/client/session/parser/kernel/Parser.javа

    xaoc, 18 Ноября 2014

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

    +165

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    foreach ($user as $field => $value) {
        if ($field == 'username') {
            $user[$field] = md5($value);
        }
    }

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

    mr-lekafe, 18 Ноября 2014

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

    −113

    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
    def normalize_url(url, preserve_fragment=False):
            url = url.strip()
            if not re.search(r'^\w+:', url):
                url = 'http://' + url.lstrip('/')
    
            if not (url.startswith('http:') or url.startswith('https:')):
                return url
    
            url = list(urlparse.urlsplit(url))
            if url[0] not in ('http', 'https'):
                url[0] = 'http'
            url[1] = url[1].lower().encode('idna')
    
            if type(url[2]) == unicode:
                try:
                    url[2] = url[2].encode('ascii')
                except UnicodeEncodeError:
                    pass
            url[2] = urllib.unquote(url[2])
            if type(url[2]) == unicode:
                url[2] = url[2].encode('utf-8')
            url[2] = urllib.quote(url[2], '/')
    
            if type(url[3]) == unicode:
                try:
                    url[3] = url[3].encode('ascii')
                except UnicodeEncodeError:
                    pass
            cut_params = ('utm_source', 'utm_medium', 'utm_term',
                          'utm_content', 'utm_campaign',
                          'yclid', 'gclid', 'ref')
            new_qsl = []
            for tag in url[3].split('&'):
                if '=' in tag:
                    param, value = tag.split('=', 1)
                    param = urllib.unquote(param)
                    value = urllib.unquote(value)
                    if param in cut_params:
                        continue
                    if type(value) == unicode:
                        value = value.encode('utf-8')
                    new_tag = "%s=%s" % (urllib.quote(param), urllib.quote(value))
                else:
                    new_tag = urllib.unquote(tag)
                    if type(new_tag) == unicode:
                        new_tag = new_tag.encode('utf-8')
                    new_tag = urllib.quote_plus(new_tag)
                new_qsl.append(new_tag)
            url[3] = '&'.join(new_qsl)
            if not preserve_fragment:
                url[4] = ''
            return urlparse.urlunsplit(url)

    Еще немного магии и хватит на сегодня.

    kyzi007, 18 Ноября 2014

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