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

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

    +161.6

    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
    $datep = date("d.m");
    $datep = str_replace("01","1",$datep);
    $datep = str_replace("02","2",$datep);
    $datep = str_replace("03","3",$datep);
    $datep = str_replace("04","4",$datep);
    $datep = str_replace("05","5",$datep);
    $datep = str_replace("06","6",$datep);
    $datep = str_replace("07","7",$datep);
    $datep = str_replace("08","8",$datep);
    $datep = str_replace("09","9",$datep);
    /*  какой-то код */
    if($datep=="08.03" && $sex=="zh") {print "$loginn,сегодня твой праздник,8 марта!Поздравляю,солнышко!<br/>";}
    /* перебор других праздников */

    Про date("j.n") автор явно не знал...
    Во втором куске кода автор явно забыл что избавился от нулей...
    (про отсутствие пробелов после запятой я молчу)

    znlex, 06 Декабря 2009

    Комментарии (5)
  3. PHP / Говнокод #2226

    +157.7

    1. 1
    2. 2
    3. 3
    if ($p{card}==1) {$o=20}
    if ($p{card}==2) {$o=20}
    if ($p{card}==3) {$o=20}

    И так далее 60 строк О_о

    michoman, 04 Декабря 2009

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

    +54.9

    1. 1
    2. 2
    3. 3
    void write_msg(const QString& msg, AsyncMp* mp) {
        written(QString(mp?"%1[%2]":"" " %3").arg(mp->my_host()).arg(mp->my_index()).arg(msg));
    }

    А потом удивляемся: чего же оно не работает?

    Thomas_55, 04 Декабря 2009

    Комментарии (5)
  5. Java / Говнокод #2209

    +76.5

    1. 1
    factory.getObject().getFactory().getObject().getFactory....

    вот такая интересная конструкция встретилась:)

    AlDjabad, 03 Декабря 2009

    Комментарии (5)
  6. VisualBasic / Говнокод #2189

    −124.6

    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
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    Function DosToKoi ( TextBlock )
    	FOR TXB = 1 TO LEN( TextBlock )
    		Select Case Asc( Mid( TextBlock, TXB, 1 ) )
    			Case 192 DosToKoi = DosToKoi & Chr(225)
    			Case 193 DosToKoi = DosToKoi & Chr(226)
    			Case 194 DosToKoi = DosToKoi & Chr(247)
    			Case 195 DosToKoi = DosToKoi & Chr(231)
    			Case 196 DosToKoi = DosToKoi & Chr(228)
    			Case 197 DosToKoi = DosToKoi & Chr(229)
    			Case 168 DosToKoi = DosToKoi & Chr(179)
    			Case 198 DosToKoi = DosToKoi & Chr(246)
    			Case 199 DosToKoi = DosToKoi & Chr(250)
    			Case 200 DosToKoi = DosToKoi & Chr(233)
    			Case 201 DosToKoi = DosToKoi & Chr(234)
    			Case 202 DosToKoi = DosToKoi & Chr(235)
    			Case 203 DosToKoi = DosToKoi & Chr(236)
    			Case 204 DosToKoi = DosToKoi & Chr(237)
    			Case 205 DosToKoi = DosToKoi & Chr(238)
    			Case 206 DosToKoi = DosToKoi & Chr(239)
    			Case 207 DosToKoi = DosToKoi & Chr(240)
    			Case 208 DosToKoi = DosToKoi & Chr(242)
    			Case 209 DosToKoi = DosToKoi & Chr(243)
    			Case 210 DosToKoi = DosToKoi & Chr(244)
    			Case 211 DosToKoi = DosToKoi & Chr(245)
    			Case 212 DosToKoi = DosToKoi & Chr(230)
    			Case 213 DosToKoi = DosToKoi & Chr(232)
    			Case 214 DosToKoi = DosToKoi & Chr(227)
    			Case 215 DosToKoi = DosToKoi & Chr(254)
    			Case 216 DosToKoi = DosToKoi & Chr(251)
    			Case 217 DosToKoi = DosToKoi & Chr(253)
    			Case 220 DosToKoi = DosToKoi & Chr(248)
    			Case 219 DosToKoi = DosToKoi & Chr(249)
    			Case 218 DosToKoi = DosToKoi & Chr(255)
    			Case 221 DosToKoi = DosToKoi & Chr(252)
    			Case 222 DosToKoi = DosToKoi & Chr(224)
    			Case 223 DosToKoi = DosToKoi & Chr(241)
    			Case 224 DosToKoi = DosToKoi & Chr(193)
    			Case 225 DosToKoi = DosToKoi & Chr(194)
    			Case 226 DosToKoi = DosToKoi & Chr(215)
    			Case 227 DosToKoi = DosToKoi & Chr(199)
    			Case 228 DosToKoi = DosToKoi & Chr(196)
    			Case 229 DosToKoi = DosToKoi & Chr(197)
    			Case 184 DosToKoi = DosToKoi & Chr(163)
    			Case 230 DosToKoi = DosToKoi & Chr(214)
    			Case 231 DosToKoi = DosToKoi & Chr(218)
    			Case 232 DosToKoi = DosToKoi & Chr(201)
    			Case 233 DosToKoi = DosToKoi & Chr(202)
    			Case 234 DosToKoi = DosToKoi & Chr(203)
    			Case 235 DosToKoi = DosToKoi & Chr(204)
    			Case 236 DosToKoi = DosToKoi & Chr(205)
    			Case 237 DosToKoi = DosToKoi & Chr(206)
    			Case 238 DosToKoi = DosToKoi & Chr(207)
    			Case 239 DosToKoi = DosToKoi & Chr(208)
    			Case 240 DosToKoi = DosToKoi & Chr(210)
    			Case 241 DosToKoi = DosToKoi & Chr(211)
    			Case 242 DosToKoi = DosToKoi & Chr(212)
    			Case 243 DosToKoi = DosToKoi & Chr(213)
    			Case 244 DosToKoi = DosToKoi & Chr(198)
    			Case 245 DosToKoi = DosToKoi & Chr(200)
    			Case 246 DosToKoi = DosToKoi & Chr(195)
    			Case 247 DosToKoi = DosToKoi & Chr(222)
    			Case 248 DosToKoi = DosToKoi & Chr(219)
    			Case 249 DosToKoi = DosToKoi & Chr(221)
    			Case 252 DosToKoi = DosToKoi & Chr(216)
    			Case 251 DosToKoi = DosToKoi & Chr(217)
    			Case 250 DosToKoi = DosToKoi & Chr(223)
    			Case 253 DosToKoi = DosToKoi & Chr(220)
    			Case 254 DosToKoi = DosToKoi & Chr(192)
    			Case 255 DosToKoi = DosToKoi & Chr(209)
    			Case Else DosToKoi = DosToKoi & Mid( TextBlock, TXB, 1 )
    		End Select
    	NEXT
    End Function

    mephist, 27 Ноября 2009

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

    +124.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
    [ $(echo $a|cut -c$((${#a}-1))-) = "gz" ] && echo "Hello, world!"
    
    [ $(echo $a|sed "s/.*\(..\)/\1/") = "gz" ] && echo "Hello, world!"
    echo $a|sed -e"s/.*gz$/Hello, world\!/" -et -eD
    
    expr $a : .*gz >/dev/null && echo "Hello, world!"
    [ $(expr $a : '.*\(..\)') = "gz" ] && echo "Hello, world!"
    
    echo "ifelse(substr($a,eval(len($a)-2)),gz,\`Hello, world! ')"|m4
    
    case $a in *gz) echo "Hello, world!";; esac
    
    echo $a|emacs -batch -eval '(defun f (arg) "M") (if (string= (substring arg -2) "gz") (princ "Hello, world!\n")) )' -f f

    2168-му посвящается...

    Задача: Если последние два символа переменной "gz", то вывести "Hello, world!".
    Решение проблемы от поклонников разных инструментов. awk, perl и всякие tcl не писал, поскольку там не будет говнокода.
    11 строка, то, как обычно пишу я. ИЧСХ, все примеры, кроме последнего, строго соответствуют POSIX.2:)

    nil, 26 Ноября 2009

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

    −862.7

    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
    --...END OF STORED PROCEDURE...
    	-- WORK Table
    		DELETE	FROM	S_CLD011	
    		DELETE	FROM	S_COLOR
    		DELETE	FROM	S_CONTRACT
    		DELETE	FROM	S_CONVERT
    		DELETE	FROM	S_DEALER
    		DELETE	FROM	S_DIV021
    		DELETE	FROM	S_HISTORY	
    		DELETE	FROM	S_LOOKUP
    		DELETE	FROM	S_MODEL
    		DELETE	FROM	S_OPTION
    		DELETE	FROM	S_PAYINV
    		DELETE	FROM	S_PIV011	
    		DELETE	FROM	S_PIV021
    		DELETE	FROM	S_PRICE
    		DELETE	FROM	S_PORT	
    		DELETE	FROM	S_REG075
    		DELETE	FROM	S_SDS021
    		DELETE	FROM	S_SERIES
    		DELETE	FROM	S_SIS021
    		DELETE	FROM	S_STATUS
    		DELETE	FROM	S_SUPPLIER
    		DELETE	FROM	S_SYS021
    		DELETE	FROM	S_USER
    
    		CLOSE c1
    		DEALLOCATE c1
    		CLOSE c1V
    		DEALLOCATE c1V
    		CLOSE c2
    		DEALLOCATE c2
    		CLOSE c2V
    		DEALLOCATE c2V

    а таблички так в базе и висят... куча пустых табличек

    Junior, 20 Ноября 2009

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

    +161.5

    1. 1
    <textarea id="some_id" onclick="document.getElementById('some_id').select()">...</textarea>

    sevenov, 04 Ноября 2009

    Комментарии (5)
  10. Pascal / Говнокод #2072

    +92.8

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    procedure MyLine(X1, Y1, X2, Y2: Integer; Color: TColor; Canvas: TCanvas);
    begin
      if (Abs(X1 - X2) <= 1) and (Abs(Y1 - Y2) <= 1) then
        Canvas.Pixels[X1, Y1] := Color
      else
      begin
        MyLine(X1, Y1, (X1 + X2) shr 1, (Y1 + Y2) shr 1, Color, Canvas);
        MyLine((X1 + X2) shr 1, (Y1 + Y2) shr 1, X2, Y2, Color, Canvas);
      end;
    end;

    Когда-то давно очень увлекался рисованием в ДОС-е.
    До сих пор помню процедуру быстрого рисования кривой прямой %)
    представляю на суд тот же алгоритм.

    Arch, 29 Октября 2009

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

    +165.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
    <?php
    ...
    define ( "CSELECT", "select task.value as tvid, count(*) as cnt from ( " );
    define ( "CJOIN", " ) as s1
       				left join m_dict on s1.id_m_dict = m_dict.id " );
    define ( "CWHERE", " where task_attr.id_mf = 116
          			  			and task_attr.value <> 'Дело'
    					  group by task_attr.value" );
    
    ...
    
    $sqltext = CSELECT . "select id, id_dep, id_m_dict
    		from task
    		where task.state = 0 and
    			  task.startdate <= '" . $reportDate . " 23:59:59' and
    			  task.id_dep in (2,42) and
    			  task.id_m_dict = 29
    	   " . CJOIN . CWHERE;
    
    ...
    ?>

    Я может чего-то не понимаю и так писать круто, но когда этих $sqltext = ... больше 5, то извините, это капец.

    nechin, 29 Октября 2009

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