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

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

    +15

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    if (ValidatorBillablePhase())
    {
       // строк 40-50 кода
    }
    
    private static bool ValidatorBillablePhase()
    {
      return true;
    }

    я в шоке от такой валидации ;-)

    guest, 15 Декабря 2008

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

    +28

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    // country
    if($user_country) {
    	$where .= '(tbl_publications.id_country = '.$user_country;
    	// city
    	if($user_city) {
    		$where .= ' OR tbl_publications.id_city = '.$user_city;
    	}
    	$where .= ')';
    }else{
    	$where .= ' 1=1'; // black magic
    }

    черная магия.

    guest, 14 Декабря 2008

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

    +25.2

    1. 1
    google search site:google.com/search?q=google+search

    Интересно, а так рекурсия получится?

    guest, 14 Декабря 2008

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

    +3.4

    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
    try
    {
        ...
        if (obj == null)
        {
            LogManager.GetLogger("Log").Warn(msg);
            throw new SoapException("Object not found", SoapException.ServerFaultCode);
        }
    }
    catch (Exception ex)
    {
        LogManager.GetLogger("Log").Error(msg, ex);
        throw new SoapException("Object not found, SoapException.ServerFaultCode, ex);                
    }

    guest, 12 Декабря 2008

    Комментарии (4)
  6. Pascal / Говнокод #113

    −23.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
    if (TableData = 1) or ((TableData = 2) and
        (Pos(FieldDelim + 'Т_НАЦ' + FieldDelim, OpArtFields) > 0)) then
        sSelect := sSelect + ', ' + LMax + 'AR.Percent' + R + ' AR_Percent';
      if (TableData = 1) or ((TableData = 2) and
        (Pos(FieldDelim + 'Т_КАТ' + FieldDelim, OpArtFields) > 0)) then
        sSelect := sSelect + ', ' + LMax + 'AR.ID_ArtCat' + R + ' AR_ID_ArtCat';
      if (TableData = 1) or ((TableData = 2) and
        (Pos(FieldDelim + 'Т_ВЕС' + FieldDelim, OpArtFields) > 0)) then
        sSelect := sSelect + ', ' + LMax + 'AR.Weight' + R + ' AR_Weight';
      if (TableData = 1) or ((TableData = 2) and
        (Pos(FieldDelim + 'Т_ОБЪЕМ' + FieldDelim, OpArtFields) > 0)) then
        sSelect := sSelect + ', ' + LMax + 'AR.Capacity' + R + ' AR_Capacity';
      if (TableData = 1) or ((TableData = 2) and
        (Pos(FieldDelim + 'МИННАЦ' + FieldDelim, OpArtFields) > 0)) then
        sSelect := sSelect + ', ' + LMax + 'AR.MinDiscount' + R + ' AR_MinDiscount';
      if (TableData = 1) or ((TableData = 2) and
        (Pos(FieldDelim + 'Т_МИНКОЛ' + FieldDelim, OpArtFields) > 0)) then
        sSelect := sSelect + ', ' + LMax + 'AR.MinQuantity' + R + ' AR_MinQuantity';
      if (TableData = 1) or ((TableData = 2) and
        (Pos(FieldDelim + 'Т_СТАТУС' + FieldDelim, OpArtFields) > 0)) then
        sSelect := sSelect + ', ' + LMax + 'AR.Status' + R + ' AR_Status';
      if (TableData = 1) or ((TableData = 2) and
        (Pos(FieldDelim + 'Т_ГТД' + FieldDelim, OpArtFields) > 0)) then
        sSelect := sSelect + ', ' + LMax + 'AR.GTD' + R + ' AR_GTD';
      if (TableData = 1) or ((TableData = 2) and
        (Pos(FieldDelim + 'Т_СТРАНА' + FieldDelim, OpArtFields) > 0)) then 
        sSelect := sSelect + ', ' + LMax + 'CO.Name' + R + ' AR_Country';

    Собирание SQL - запроса для выборки полей. И это маленький кусочек :)
    Серьёзная контора с миллиардными оборотами!

    guest, 11 Декабря 2008

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

    +27

    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
    private int checkTerm(PatternTerm term, int arr[],
          int symbNum, boolean isEditing) {
        if (term.count != INFINITY) {
          int endIdx = Math.min(symbNum + term.count, arr.length);
            int count = 0;
            switch(term.termType) {
              case DIGIT: {
                for(int i = symbNum; i < endIdx; i++) {
                  if (!Character.isDigit((char)arr[i]))
                    return -1;
                  count++;
                }
                break;
              }
              case LETTER: {
                for(int i = symbNum; i < endIdx; i++) {
                  if (!Character.isLetter((char)arr[i]))
                    return -1;
                  count++;
                }
                break;
              }
              case LETTERORDIGIT: {
                for(int i = symbNum; i < endIdx; i++) {
                  if (!Character.isLetterOrDigit((char)arr[i]))
                    return -1;
                  count++;
                }
                break;
              }
              case CHARACTER: {
                for(int i = symbNum; i < endIdx; i++) {
                  if (arr[i] != term.value)
                    return -1;
                  count++;
                }
                break;
              }
          }
          if (!isEditing && count != term.count)
            return -1;
          
          symbNum+=term.count;
        } else {
          int i = 0;
          switch(term.termType) {
            case DIGIT: {
              while (((symbNum + i) < arr.length) &&
                  Character.isDigit((char)arr[symbNum + i])) i++;
              break;
            }
            case LETTER: {
              while (((symbNum + i) < arr.length) &&
                  Character.isLetter((char)arr[symbNum + i])) i++;
              break;
            }
            case LETTERORDIGIT: {
              while (((symbNum + i) < arr.length) &&
                  Character.isLetterOrDigit((char)arr[symbNum + i])) i++;
              break;
            }
            case CHARACTER: {
              while (((symbNum + i) < arr.length) &&
                  (arr[symbNum + i] == term.value)) i++;
              break;
            }
          }
          symbNum+=i;
        }
        return symbNum;
      }

    Паша любит такие конструкции, которые хрен разобрать

    guest, 10 Декабря 2008

    Комментарии (4)
  8. Pascal / Говнокод #87

    −12.7

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    for i:=sk[(npl-1)*5+1] to sk[(npl-1)*5+2]-1 do
       begin
       l1:=0;l2:=0;l3:=0;l4:=0;l5:=0;l6:=0;l7:=0;l8:=0;l9:=0;l10:=0;
      for j:=1 to 100 do g1[j]:=0;
       for k:=sk[(npl-1)*5+1] to sk[(npl-1)*5+2] do
         if (k<>i )and
       (((abs(xyz^[pxyz^[i]].x-xyz^[pxyz^[k]].x)< dd) or  ((lx-abs(xyz^[pxyz^[i]].x-xyz^[pxyz^[k]].x))<dd))
       and ((abs(xyz^[pxyz^[i]].y-xyz^[pxyz^[k]].y)<dd) or  ((ly-abs(xyz^[pxyz^[i]].y-xyz^[pxyz^[k]].y))<dd))
       and ((abs(xyz^[pxyz^[i]].z-xyz^[pxyz^[k]].z)<dd) or  ((lz-abs(xyz^[pxyz^[i]].z-xyz^[pxyz^[k]].z))<dd)))
       then

    это только заголовок цикла ..

    guest, 09 Декабря 2008

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

    −187.2

    1. 1
    2. 2
    respons+="""<span class="gray">коэффициент:</span> %s<br />""" % str(koeff[0][5])
    respons+="""<br />"""

    Формирование "аяксового" ответа

    guest, 09 Декабря 2008

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

    +22.9

    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
    $result = mysql_query("SELECT * FROM `Wallpapers` WHERE `Title` = '".$Title."'");
    $row = mysql_fetch_assoc($result);
    $wID=$row['ID'];
    $Wallpaper1=$row['Wallpaper1'];
    $Wallpaper2=$row['Wallpaper2'];
    $Wallpaper3=$row['Wallpaper3'];
    $Wallpaper4=$row['Wallpaper4'];
    $Wallpaper5=$row['Wallpaper5'];
    
    if ( $_SESSION['userid'] )
    	{ 
    	if ($Wallpaper1 != NULL) {
    		$size='';
    		$size=getimagesize("images/wallpapers/".$Wallpaper1);
    		$dHTML .= '<a class="preview" href="'.$image_path.'show/'.$Title.'/?w=1" style="text-decoration: underline;" onClick="alerts('.$wID.'); countIp();">'.$size[0].'x'.$size[1].'</a> ';
    	}
    	if ($Wallpaper2 != NULL) {
    		$size='';
    		$size=getimagesize("images/wallpapers/".$Wallpaper2);
    		$dHTML .= '<a class="preview" href="'.$image_path.'show/'.$Title.'/?w=2" style="text-decoration: underline;" onClick="alerts('.$wID.'); countIp();">'.$size[0].'x'.$size[1].'</a> ';
    	}
    	if ($Wallpaper3 != NULL) {
    		$size='';
    		$size=getimagesize("images/wallpapers/".$Wallpaper3);
    		$dHTML .= '<a class="preview" href="'.$image_path.'show/'.$Title.'/?w=3" style="text-decoration: underline;" onClick="alerts('.$wID.'); countIp();">'.$size[0].'x'.$size[1].'</a> ';
    	}
    	if ($Wallpaper4 != NULL) {
    		$size='';
    		$size=getimagesize("images/wallpapers/".$Wallpaper4);
    		$dHTML .= '<a class="preview" href="'.$image_path.'show/'.$Title.'/?w=4" style="text-decoration: underline;" onClick="alerts('.$wID.'); countIp();">'.$size[0].'x'.$size[1].'</a> ';
    	}
    	if ($Wallpaper5 != NULL) {
    		$size='';
    		$size=getimagesize("images/wallpapers/".$Wallpaper5);
    		$dHTML .= '<a class="preview" href="'.$image_path.'show/'.$Title.'/?w=5" style="text-decoration: underline;" onClick="alerts('.$wID.'); countIp();">'.$size[0].'x'.$size[1].'</a> ';
    	}
    	}

    guest, 08 Декабря 2008

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

    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
    31. 31
    32. 32
    33. 33
    (tagbody
    
      start
        (defun innovative-sort (lst)
          (assert (not (null lst)))
    
          (when (equal (car lst) "VIRGIN") (innovative-sort (reverse (cdr lst))))
    
          (if (> (length lst) 1)
             (let ((foo (logxor
                         (logand
                           (if (> (car lst) (cadr lst))
                              1
                              0)
                         1)
                        (logand
                        (if
                             (not (> (car lst) (cadr lst)))
                       1
                        0)
                        0))))
    
           (if (if (= foo 1) t nil)
                (progn
                  (rotatef (car lst) (cadr lst))
                (cons (car lst) (innovative-sort (cdr lst))))
                (cons (car lst) (innovative-sort (cdr lst)))))
    
            (car lst)))
    
    (go start))
    
    (innovative-sort '(5 9 2 4))

    инновационный алгоритм сортировки

    lisp-worst-code, 19 Июля 2025

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