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

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

    +175.9

    1. 1
    #define JUST_ANOTHER_MAGIC_NUMBER 4398476903476060

    магия чисел

    guest, 21 Апреля 2009

    Комментарии (1)
  3. VisualBasic / Говнокод #910

    −130

    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
    i = 2
    
                    X = "blank"
                    index = ""
                    qty = "1"
    
                    For Each Z In sContents
                        If (Z.StartsWith("1") Or Z.StartsWith("2") Or Z.StartsWith("3") Or Z.StartsWith("4") Or Z.StartsWith("5") Or Z.StartsWith("6") Or Z.StartsWith("7") Or Z.StartsWith("8") Or Z.StartsWith("9")) Then
                            Line = Z.Split("|")
    
                            If Not Line(0).Contains(".") Then
                                index = Line(0)
                                qty = 1
                            End If
    
                            If Line(1).StartsWith("ID") Then
                                X = Line(3).Substring(15)
                                qty = Line(4)
                            Else
                                sheet.Cells(i, 1) = Line(2)
                                sheet.Cells(i, 2) = Line(3)
    
                                If Line(2) = X Then
                                    sheet.Range("B" & i).Font.Bold = True
                                Else
                                    If Line(0).StartsWith(index & ".") Then
                                        sheet.Range("B" & i).IndentLevel() = 1
                                    End If
                                End If
    
                                If Not Line(0).Contains(".") Then
                                    sheet.Range("B" & i).Font.Bold = True
                                End If
    
                                If Line(5) = "N/A" Then
                                    sheet.Cells(i, 3) = 0
                                Else
                                    sheet.Cells(i, 3) = Line(5)
                                End If
    
                                sheet.Range("C" & i).NumberFormat = "[$$-2409]#,##0.00"
    
                                sheet.Cells(i, 4) = Line(7)
    
                                If qty > 1 Then
                                    sheet.Cells(i, 5) = Line(4) * qty
                                Else
                                    sheet.Cells(i, 5) = Line(4)
                                End If
    
                                sheet.Cells(i, 6) = "=E" & i & "*C" & i
    
                                sheet.Range("F" & i).NumberFormat = "[$$-2409]#,##0.00"
    
                                sheet.Range("D" & i, "E" & i).HorizontalAlignment = Excel.Constants.xlCenter
                                sheet.Range("A" & i, "F" & i).Font.Size = 10
                                sheet.Range("A" & i, "F" & i).Borders.LineStyle = Excel.Constants.xlSolid
    
                                i = i + 1
                            End If
                        End If
    
                    Next Z

    чем не говнокод?
    работает, хуле :)

    guest, 21 Апреля 2009

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

    +151

    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
    <?php
    class A {
    	function __get($prop) {
    		var_dump($prop);
    		$this->$prop = '123';
    		return null;
    	}
    }
    
    $a = new A;
    $prop = '01.01.01';
    $a->$prop;
    var_dump($a);

    guest, 20 Апреля 2009

    Комментарии (1)
  5. Perl / Говнокод #894

    −153

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    sub get_user_xml {
        
        # много не существенного кода
        
        return $self->get_xml($self);
    
        return 0;
    }

    Двойной

    guest, 17 Апреля 2009

    Комментарии (1)
  6. PHP / Говнокод #889

    +145

    1. 1
    2. 2
    3. 3
    4. 4
    function quit($msg, $output = true){
    		if($output) die($msg);
    		return false;
    	}

    Не выдумка. Нашли в реальном проекте

    guest, 16 Апреля 2009

    Комментарии (1)
  7. Pascal / Говнокод #888

    +152

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    procedure TfmEditAddDet.ControlExit(Sender: TObject);
    begin
      if Sender Is TEdit then TRIM(TEdit(Sender).Text)
        else if Sender Is TMemo then TRIM(TEdit(Sender).Text);
    end;

    Попытка вызова TRIM как процедуру.

    guest, 16 Апреля 2009

    Комментарии (1)
  8. ActionScript / Говнокод #881

    −296.6

    1. 1
    this._parent._parent.registerTip(this._parent._parent['area'+this._parent.txtTarget._name.charAt(3)], this.txt.text);

    Где-то объявлена функция, которой в качестве одного из параметров надо передать ссылку на мувиклип, который валяется тоже непойми где, и имя которого неочевидным образом вычисляется из имени другого мувиклипа, до которого ещё тоже надо добраться...

    guest, 16 Апреля 2009

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

    +137.5

    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
    function get($id,$lang_id)
         {
           // начнем транзакцию
           $bresult=ConnectionManager::begin();
           if (!$bresult)
            {
              ConnectionManager::rollback();
              return false;
            }
           $result=$this->db_main->getTPLRow(QUERY_ADMIN_CELLMETHOD_GET, array('id'=>$id,'lang_id'=>$lang_id));
           if (!is_array($result))
            {
              ConnectionManager::rollback();
              return false;
            }
           /*$operators=$this->db_main->getTPLData(QUERY_ADMIN_CELLMETHOD_OPETATORS_GET, array('id'=>$id));
           if (!is_array($operators))
            {
              ConnectionManager::rollback();
              return false;
            }
           $result['operator'] = $operators;*/
           // закончим транзакцию
           $cresult=ConnectionManager::commit();
           if (!$cresult)
            {
              ConnectionManager::rollback();
              return false;
            }
           if (count($result))
            return $result;
           else
            return true;
         }

    Метод получает данные из таблицы. getTPLRow делает выборку из таблицы, обратите внимание, что при этом делается begin, commit и rollback

    guest, 16 Апреля 2009

    Комментарии (1)
  10. VisualBasic / Говнокод #873

    −140

    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
    Public Function fRoundSumma(pDbl As Double) As Double
     On Error Resume Next
     Dim vStrSum As String
     If vFieldRoundSummuDoInt Then
        vStrSum = str(pDbl)
         If InStr(1, vStrSum, ".5") > 0 Then
            If pDbl < 0 Then
               fRoundSumma = Abs(Fix(pDbl)) + 1
               fRoundSumma = fRoundSumma * (-1)
              Else
               fRoundSumma = Fix(pDbl) + 1
            End If
           Else
            fRoundSumma = Round(pDbl, 0)
         End If
       Else
        fRoundSumma = Round(pDbl, vFieldRoundDo)
     End If
    End Function

    Такое забавное округление. Из коммерческого проекта :)

    guest, 15 Апреля 2009

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

    +83.5

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    ret = (func(a, b) == SpecNumber) ? true : false;
        if (! ret)
        {
            ShowError ("Some message", a, b));
        }

    Обратить внимание на хитрость получения значения ret, а потом как его используют :)

    guest, 15 Апреля 2009

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