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

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

    −84

    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
    If Not CheckX Then Goto 1
        For i = 0 to USecX
    	Goto 2
    1:
        For i2 = 0 to USecY
    2:
      	...
    	If CheckX Then Goto 3
        Next
        If Not CheckX then Goto 4
    3:
        Next
    4:

    Как-то потребовалось выполнить немалый участок кода, но в двух разных случаях нужно было использовать два разных фора. В отдельную процедуру было очень неудобно выносить (пришлось бы передавать слишком много переменных), так что пришлось сделать этот... свичджампинг форов :)

    DragDen, 28 Октября 2010

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

    +163

    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
    LPBYTE OUTBUFF = NULL;
    	DWORD BUFFSIZE = 0;
    ...
    		int pgp_res = m_pgp.EncodeBuff2Buff(
    			( LPCVOID ) ( LPCTSTR ) post_data.c_str(),
    			( DWORD ) post_data.length(),
    			OUTBUFF,
    			BUFFSIZE,
    			( LPCTSTR ) query_mts_cfg().query_crypto_public_key().c_str() ); 
    ...
    			std::string s;
    			// мы будем рассматривать буфер как строку, а PGPEncode
    			// естественно не ограничивает буфер нулевым
    			// символом, поэтому строку из буфера надо
    			// ограничивать насильно
    			s = std::string( ( char* ) OUTBUFF );
    			s = s.substr( 0, BUFFSIZE );

    1) Проблема проявилась после 5 лет боевой эксплуатации.
    2) Все загодногожено было именно так. Т.е. автор понимал \0, сделал что-то, но все равно с ошибкой.

    bsivko, 28 Октября 2010

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

    +161

    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
    if (empty($whatpage)) {  
             if (empty($catpage)) { $myFile='articles/main.dat';
             } else {
                      if (empty($subcatpage)) { $myFile="articles/$catpage/main.dat"; 
                      } else { $myFile="articles/$catpage/$subcatpage/main.dat";
                      }
             }
    } else { 
            if (empty($catpage)) { $myFile="articles/$whatpage.dat";
            } else {
                      if (empty($subcatpage)) { $myFile="articles/$catpage/$whatpage.dat"; 
                      } else { $myFile="articles/$catpage/$subcatpage/$whatpage.dat";
                      }
            }
    }
    $fh = @fopen($myFile, 'r'); 
    if (!$fh) { $myFile='articles/404.dat'; header('Status: 404'); header('HTTP/1.1 404 Not Found'); $fh = @fopen($myFile, 'r'); } 
    $data = fread($fh, filesize($myFile));

    кусок CMS с кучей бесполезной работы повторяющимся кодом и без знания об file_get_contents и file_exists

    porese, 27 Октября 2010

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

    −199

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    SELECT z.id, z.user_id, z.points_figure, MAX( z.date_practice )
    FROM (
       SELECT p . * , h.date_practice
       FROM practice_update p
       INNER JOIN practice_update_history h ON p.history_id = h.id
       WHERE p.is_confirmed = 1 OR p.is_updated = 1
    order by h.date_practice desc
    ) z
    GROUP BY 2

    и это при том что нужно взять последнее "z.points_figure" для юзверя. %)

    KiMindfreak, 25 Октября 2010

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

    +72

    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
    public static Document getDoc(CarPartsAd ad) {
            Document doc = new Document();
            doc.add(new Field("id", ad.getId().toString(), YES, NOT_ANALYZED));
            doc.add(new Field("mark", Long.toString(ad.getMarkId()), Field.Store.NO, NOT_ANALYZED));
            doc.add(new Field("model", Long.toString(ad.getModelId()), Field.Store.NO, NOT_ANALYZED));
            doc.add(new Field("frame", Long.toString(ad.getFrameId()), Field.Store.NO, NOT_ANALYZED));
            doc.add(new Field("engine", Long.toString(ad.getEngineId()), Field.Store.NO, NOT_ANALYZED));
            doc.add(new Field("type", Long.toString(ad.getTypeId()), Field.Store.NO, NOT_ANALYZED));
            doc.add(new Field("front_rear", Long.toString(ad.getFrontRear()), Field.Store.NO, NOT_ANALYZED));
            doc.add(new Field("right_left", Long.toString(ad.getRightLeft()), Field.Store.NO, NOT_ANALYZED));
            doc.add(new Field("up_down", Long.toString(ad.getUpDown()), Field.Store.NO, NOT_ANALYZED));
            doc.add(new Field("contact", Long.toString(ad.getContactId()), Field.Store.NO, NOT_ANALYZED));
            doc.add(new Field("town", Long.toString(ad.getTownId()), Field.Store.NO, NOT_ANALYZED));
            doc.add(new Field("part_state", Long.toString(ad.getPartState()), Field.Store.NO, NOT_ANALYZED));
            doc.add(new Field("original_flag", Long.toString(ad.getOriginalFlag()), Field.Store.NO, NOT_ANALYZED));
            doc.add(new Field("price", Integer.toString(ad.getPriceRub()), Field.Store.YES, NOT_ANALYZED));
            doc.add(new Field("price_flag", (ad.getPriceRub() > 0 ? "0" : "1"), Field.Store.NO, NOT_ANALYZED));
            doc.add(new Field("date_sort", Long.toString(ad.getSort()).substring(0, 9), Field.Store.YES, NOT_ANALYZED));
            doc.add(new Field("oem", format(ad.getOem()).replaceAll(" ", "").toLowerCase(), Field.Store.NO, NOT_ANALYZED));
            doc.add(new Field("producer_code", format(ad.getProducerCode()).replaceAll(" ", "").toLowerCase(), Field.Store.NO, NOT_ANALYZED));
            doc.add(new Field("uplift_rating", Integer.toString(ad.getUpliftRating()), Field.Store.NO, NOT_ANALYZED));
            doc.add(new Field("ads_source", Integer.toString(ad.getAdsSource()), Field.Store.NO, NOT_ANALYZED));
            return doc;
        }

    лучик ненависти авторам lucene за то, что заставляют писать такое :)

    zlob.jc, 20 Октября 2010

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

    −156

    1. 1
    2. 2
    3. 3
    if (ref($val) eq 'ARRAY') {
       # ...
    }

    seonull, 13 Октября 2010

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

    +143

    1. 1
    foreach (array(0, 1, 2, 3) as $i) { ... }

    Чем им for не угодил?

    dj_nudnyj, 12 Октября 2010

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

    +139

    1. 1
    <input type="hidden" class="form" TYPE="checkbox" id="xxx" value="0"  onclick="if(this.value==1) {this.value} else {this.value=1}">

    И как они хотят, чтобы на скрытый элемент нажимали?)

    Nerd, 12 Сентября 2010

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

    +167

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    public function for_json()
    {
         $res = unserialize(serialize($this->params));
         unset($res['wml']);
         unset($res['xhtml']);
         return $res;
    }

    Моск сломался, пытаясь понять строчку 3 :)

    ko1Rn, 03 Сентября 2010

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

    +165

    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
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    if ($date_reg_2!="0000-00-00 00:00:00")
      	{
      	$start_date_array_2 = explode (" ",$date_reg_2);
      	$start_time_array_2 = explode (":",$start_date_array_2[1]);
      	$time_base_2 = $start_time_array_2[0].":".$start_time_array_2[1];
      	$request_date_start_2 = $start_date_array_2[0]." ".$time_base_2;
      	$request_time_start_2 = $time_base_2.":00";
      	}
      	 if($date_do_array[0]!="0000-00-00")
            {
            $request_date_start_2 = $date_do_array[0]." ".$time_do_array[0].":".$time_do_array[1];
            }
    	if (date("Y-m-d H:m")>$request_date_start_2)
    	{
    	if ($con_from_bill=='0') $color = "#FED0D0";
    	elseif ($time_online<$request_time_start_2&&$con_from_bill==0) $color = "#CAF0BC";
    	else if ($con_from_bill==1||$status==5) $color = "#CAF0BC";
    	else $color = "#FED0D0";
            }
            else
            {
            if ($date_perezvon_array[0]!='0000-00-00' && $perezvon=='0')$color = "#F6FC48";
            else $color = "#ffffff";
            
            }
            
             if ($date_do_array[0]!="0000-00-00") $time_base = $time_do_array[0].":".$time_do_array[1];
            else $time_base =$start_time_array[0].":".$start_time_array[1];
             if($date_do_array[0]!="0000-00-00" && $start_date_array[0]==$date[$w])
            {
            $color = "#D2EAFD";
            }
            else $color = $color;
            
             if (date("Y-m-d")>$day_today)
    	{
    	if ($con_from_bill=="0" && $status != 5) $color = "#F51F1F";
    	else $color = "#CAF0BC";
    	
    	}
    	else  $color= $color;
        
            $url_edit = "/start/incoming_info.php?callid=$callid&teamid=$teamid&from=from_connect";
        if ($date_do!="0000-00-00 00:00:00" && $date[$w]==$start_date_array[0])$ahref = "<a href=\"#\" class=\"hint\" onMouseover=\"showhint('$info_request', this, event, '250px')\"><span style=\"background-color:$color;font-size:8pt;font-family:arial,helvetica,sans serif;color: #969595;font-weight:normal;\">";
            else $ahref="<A HREF=\"javascript:;\" onClick=\"openHorWin('$url_edit')\" class=\"link_incoming\" style=\"background-color:$color;width:100%\"><span style=\"color:$text_color\">";
      if($status!="33" && $status!="34") $time_info = $time_info."<nobr>$ahref $time_base - $incoming </a></span><nobr><br>";
      	else
      	{				
    		
    		if ( $status == 34 && $cancel == 1 ) $color = "#FF8A42";
    		else if      ( $connect_poe == 0 )  $color = "#72AFFF";
    		else if ( $connect_poe == 1 )  $color = "#CAF0BC";
    		else      					   $color = "#FED0D0";
    		
    		if ( $status == "33" )
    	        $url_edit = "/start/psevdo.php?do=info&callid=$callid";
    		else
    			$url_edit = "/start/poe.php?callid=$callid";
    	
      	$start_date_array_33 = explode (" ",$date_reg_2);
      	$start_time_array_33 = explode (":",$start_date_array_33[1]);
      	$time_base_33 = $start_time_array_33[0].":".$start_time_array_33[1];
      	 $ahref="<A HREF=\"$url_edit\"   onClick=\"openHorWin2()\" target=\"displayWindow\"   class=\"link_incoming\" style=\"background-color:$color;width:100%;text-decoration:none;\"><span style=\"color:$text_color\">";
        	 $comments = substr($comments,0,20);
    		 $incoming = $incoming == "., -0" ? $comments : $incoming;
        	 $time_info = $time_info."<nobr>$ahref $time_base - $incoming</a></span><nobr><br>";
      	}
      	}

    Долго и упорно пытался вставить свой "если" в этот код никак не мог найти куда лучше его вставить :-D
    Люди не пишита так никогда, кому то потом придется в этом ковырятся...

    jackkum, 30 Августа 2010

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