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

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

    +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
    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
    static int a[][]=new int[7][7];
        static boolean b[]=new boolean[7]; 
    static void flag(){
            
            for(i=1;i<=6;++i){
                b[i]=false;
                System.out.print(b[i]+" ");
            }
            System.out.println();
        }
    
        static void graph(){
            a[1][1]=-1;
            a[1][2]=7;
            a[1][3]=9;
            a[1][4]=-1;
            a[1][5]=-1;
            a[1][6]=14;
            a[2][1]=7;
            a[2][2]=-1;
            a[2][3]=10;
            a[2][4]=15;
            a[2][5]=-1;
            a[2][6]=-1;
            a[3][1]=9;
            a[3][2]=10;
            a[3][3]=-1;
            a[3][4]=11;
            a[3][5]=-1;
            a[3][6]=2;
            a[4][1]=-1;
            a[4][2]=15;
            a[4][3]=11;
            a[4][4]=-1;
            a[4][5]=6;
            a[4][6]=-1;
            a[5][1]=-1;
            a[5][2]=-1;
            a[5][3]=-1;
            a[5][4]=6;
            a[5][5]=-1;
            a[5][6]=10;
            a[6][1]=14;
            a[6][2]=-1;
            a[6][3]=2;
            a[6][4]=-1;
            a[6][5]=10;
            a[6][6]=-1;
            System.out.println(" x1 "+" x2 "+" x3 "+ " x4 "+" x5 "+" x6 ");
            System.out.print("x1 ");
            for(i=1;i<=6;++i){
                for(j=1;j<=6;++j)
                    System.out.print(" "+a[i][j]);
                System.out.println();
               
     if(i==6)
                    System.out.println("Все ахуенно!!!");
                else
                    System.out.print("x"+(i+1)+" ");
            }
        }

    Просто красивое заполнение массивов !

    Антон, 15 Июня 2010

    Комментарии (9)
  3. Pascal / Говнокод #3458

    +99

    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
    procedure TCommonFineEdit.SetTopControls;
    begin
      if beSummHist.Visible then
        SummEdit.Width := 92
      else
        SummEdit.Width := 108;
      if VarToInt(Oper.OperationType) in [otFine, otNoAgreeFine, otPayFine, otPayFineCorrect] then
        begin
          NameEdit.Top := 16;
          Label1.Top := NameEdit.Top+3;
          PODateEdit.Top := 47;
          AccountDateJvDateEdit.Top := PODateEdit.Top;
          label3.Top := PODateEdit.Top+3;
          lPODate.Top := PODateEdit.Top+3;
          beSummHist.Top := 77;
          SummEdit.Top := 78;
          POSummEdit.Top := SummEdit.Top;
          label12.Top := SummEdit.Top+3;
          lPOSumm.Top := SummEdit.Top+3;
          StateComboBox.Top := 109;
          label4.Top := StateComboBox.Top+3;
          InspectNameEdit.Top := 140;
          InspectNameLabel.Top := InspectNameEdit.Top+3;
          CommentEdit.Top := 171;
          label2.Top := CommentEdit.Top+3;
          if ftSale then
          begin
            RateNameEdit.Top := 202;
            lRate.Top := RateNameEdit.Top+3;
            BasePriceEdit.Top := 233;
            PaySummMoneyEdit.Top := BasePriceEdit.Top;
            lMoney.Top := BasePriceEdit.Top+3;
            lBasePrice.Top := BasePriceEdit.Top+3;
            Height := 368;
          end else
            Height := 310;
        end
    ...

    Umak, 11 Июня 2010

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

    +75

    1. 1
    setDouble((float)getAnotherDouble());

    Не могу понять: то ли ето какой-то реликтовый артефакт, то ли в етом есть глубокий смысл.
    Подскажите, а..

    OlegYch, 08 Июня 2010

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

    −172

    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
    private static function copyByteArray(source:ByteArray, destination:ByteArray, length:uint = 0):void
        {
            var oldPosition:int = source.position;
    
            source.position = 0;
            destination.position = 0;
            var i:uint = 0;
    
            while (source.bytesAvailable > 0 && i < length)
            {
                destination.writeByte(source.readByte());
                i++;
            }
    
            source.position = oldPosition;
            destination.position = 0;
        }

    Только вы не думайте, что это школьная лаба. Это все он же родимый, Flex framework, mx.utils.Base64Decoder, прошу любить и жаловать! :)
    Для тех, кто не в курсе, у ByteArray есть "родные" методы readBytes и writeBytes которые делают то, что описано в этом методе, ну только в пару раз быстрее...

    wvxvw, 05 Июня 2010

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

    +137

    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
    procedure TForm1.Button1Click(Sender: TObject);
    var
    Result, str, str1, str2, str3, str4, str5, str6 : string;
    PLen, stroka, i : integer;
    begin
    Randomize;
    str:='';
    Memo1.Clear;
    stroka := SpinEdit2.Value;
    str1 := '1234567890';
    str2 := 'abcdefghijklmnopqastuvwxyz';
    str3 := 'ABCDEFGHIJKLMNOPQASTUVWXYZ';
    str4 := '!@#$%^&*()_+|\=-<>.,/?''; :"][}{';
    str5 := 'абвгдеёжзийклмнопрстуфхцчшщъыьэюя';
    str6 := 'АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ';
    PLen := SpinEdit1.Value;
    if CheckBox1.Checked = True
    then str:=str+str1;
    if CheckBox2.Checked = True
    then str:=str+str2;
    if CheckBox3.Checked = True
    then str:=str+str3;
    if CheckBox4.Checked = True
    then str:=str+str4;
    if CheckBox5.Checked = True
    then str:=str+str5;
    if CheckBox6.Checked = True
    then str:=str+str6;
    if CheckBox1.Checked or
    CheckBox2.Checked or
    CheckBox3.Checked or
    CheckBox4.Checked or
    CheckBox5.Checked or
    CheckBox6.Checked = False
    then
    MessageDlg('Выберите символы, которые вы хотите использовать!',mtWarning,[mbOK],0)
    else
    for i := 1 to stroka do begin
    Result := '';
    repeat
    Result := Result+str[Random(Length(str))+1];
    until (Length(Result) = PLen);
    Memo1.Lines.Add(Result);
    end;
    end;

    Пример генератора паролей на Delphi
    http://delphistudio.ru/primery-na-delphi/sistema/119-generator-porolej.-primer-na-delphi.html

    вспоминается цитата какого говнокодера с баша
    http://bash.org.ru/quote/406823
    которую быдлота наплюсовала

    3.14159265, 31 Мая 2010

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

    +160

    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
    bool S()
        {
            if(VD){std::cout<<"S";}
            bool b;
            if(D()==true) {b= true;}
            else {b=false;};
            return b;
        }
    
            bool D()
        {
            if(VD){std::cout<<" => D";}
            bool b=true;
            bool b1=DC();
            bool b2=DV();
            bool b3=DP();
            b=b1&b2&b3;
            return b;
        }
            bool DC()
        {
            if(VD){std::cout<<" => DC";}
            bool b=(M[i] == "CONST");
            i++;
            if (b && (COK()) && (M[i] == ";")) {b=true;}
            else {b=false;
            };
            i++;
            return b;
        }

    Код из лабораторной работы студента 3-го курса Севастопольского национального технического университета, факультет Автоматики и вычислительной техники. Данный код является фрагментом синтаксического анализатора (методом рекурсивного спуска).

    Serega_M31, 26 Мая 2010

    Комментарии (9)
  8. C++ / Говнокод #3290

    +155

    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
    char Sort(char Type, int l, int r)
    {
      int i = l, j = r;
      char x[31];
      void *y = 0;
      setmem(x, 31, 0);
      strcpy(x, ((TData*)(DataLists[CurrentList][(l+r)/2]))->Data[CurrentCol-1]);
      do
      {
        if (Type==UP)
        {
          switch(CurrentCol)
          {
    	case 1: case 2:
    	  while (strcmp(((TData*)(DataLists[CurrentList][i]))->Data[CurrentCol-1], x) < 0)
    	    ++i;
    	  while (strcmp(((TData*)(DataLists[CurrentList][j]))->Data[CurrentCol-1], x) > 0)
    	    --j;
    	  break;
    	default:
    	  while (atoi(((TData*)(DataLists[CurrentList][i]))->Data[CurrentCol-1])<atoi(x))
    	  ++i;
    	  while (atoi(((TData*)(DataLists[CurrentList][j]))->Data[CurrentCol-1])>atoi(x))
    	  --j;
          }
        }
        else
        {
          switch(CurrentCol)
          {
    	case 1: case 2:
    	  while (strcmp(((TData*)(DataLists[CurrentList][i]))->Data[CurrentCol-1], x) > 0)
    	    ++i;
    	  while (strcmp(((TData*)(DataLists[CurrentList][j]))->Data[CurrentCol-1], x) < 0)
    	    --j;
    	  break;
    	default:
    	  while (atoi(((TData*)(DataLists[CurrentList][i]))->Data[CurrentCol-1])>atoi(x))
    	    ++i;
    	  while (atoi(((TData*)(DataLists[CurrentList][j]))->Data[CurrentCol-1])<atoi(x))
    	    --j;
          }//switch
        }//if
        if (i<=j)
        {
          y = DataLists[CurrentList][i];
          *(DataLists[CurrentList].GetPointerToData(i)) = DataLists[CurrentList][j];
          *(DataLists[CurrentList].GetPointerToData(j)) = y;
          ++i, --j;
        }
      }
      while (i<=j);
        if (l<j)
        {
          if (Type==UP)
    	Sort(UP, l, j);
          else
    	Sort(DOWN, l, j);
        }
      if (i<r)
      {
        if (Type==UP)
          Sort(UP, i, r);
        else
          Sort(DOWN, i, r);
      }
    return 1;
    }

    По-моему, это должна была быть сортировка Хоара, а получилось говно. Самое странное - это то, что оно работает...

    Max ID, 21 Мая 2010

    Комментарии (9)
  9. Си / Говнокод #3263

    +132

    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
    DWORD WINAPI readPort( LPVOID lpParam )
    {
            while (1)
            {
                    if (brkListen)
                            break;
    
            if (((Param*)(void*)lpParam)->port)
                    if (fgetc(((Param*)(void*)lpParam)->port)!=EOF);
                            ((Param*)(void*)lpParam)->count++;
            }
    
            return 0;
    }

    Кусок программы подсчёта импульсов с оптопорта. Мало того что так делать плохо, так ещё один косяк есть. RS232 ниже 64 бод в винде не держит. так и не выяснил в физике это дело или в оси. Под RTEMS 6.04 64 бод на ура считалось.

    ursus, 19 Мая 2010

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

    +149

    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
    $sql = " SELECT *, DATE_FORMAT( `date`, '%d.%m.%y %H:%i:%s' ) as `date` FROM `messages` ORDER BY `id` DESC LIMIT {$n->start()},".PNUMBER;
    	if ( $qr=mysql_query( $sql ) )
    	{
    		
    			while ( $row = mysql_fetch_assoc( $qr ) )
    			 {
    				echo htmlspecialchars( $row['name'] ).' ['.htmlspecialchars( $row['date'] ).']<br>';
    				echo smile( htmlspecialchars( $row['message'] ) ).'<br>';
    				if ( $row['otvet'] )
    					echo '<b>Ответ: '.smile( htmlspecialchars( $row['otvet'] ) ).'</b><hr>';
    				else
    					echo '<hr>';
    			}
    	}
    	else 
    	{
    		echo 'Произошла системная ошибка';
    		mysql_function_error( 'Возникла ошибка при запросе. SQL: '.$sql.'|ERROR: '.mysql_error( ) );
    	}

    ...

    lugaro, 17 Мая 2010

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

    +157

    1. 1
    2. 2
    3. 3
    4. 4
    if (!$defaults && !is_null($defaults))
    {
      $this->form->setDefaults($defaults->toArray());
    }

    Все три строчки, зато какие! :)

    kovel, 17 Мая 2010

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