1. C++ / Говнокод #1775

    +61.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
    void funcMir()
    {
    
    ...
    
    if ( __mir0>5 )
    goto vihod;
    TMir1 __mir1; // Конструктор не вызывается. (Оператор goto перескакивает через него.)
    
    ...
    
    vihod:
    ...
    // Здесь вызывается деструктор для __mir1 при выходе __mir1 из области видимости.
    };

    Код оригинальный из инета. Комментарии добавил мой друг.

    Говногость, 06 Сентября 2009

    Комментарии (45)
  2. C++ / Говнокод #1774

    +56.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
    cout << "\nVvedit A->";      //организуем ввод коэфициэнтов уравнения с помощью 
    cin >> a;                    //ф-й потокового ввода-вывода (cout и cin с библиотеки iostream.h) 
    cout << "\nVvedit B->";
    cin >> b;
    cout << "\nVvedit C->";
    cin >> c;
    d = pow(b,2)-(4*a*c);        //найдем дискриминант
    if (d < 0) goto d1;            //проверяем условия, и, с помощью
    if (d==0) goto d2;           //меток переходим к соответствующему блоку
    if (d>0) goto d3;
     d1: {                       //блок 1: дискриминант < 0
      printf("\nKoreniv nema");
      goto exit;                 //безусловный переход на exit
     }
     d2: {                       //блок 2: дискриминант=0
      x1=-b/(2*a)
      printf("\nx = %f",x1);
      goto exit;                 //безусловный переход на exit
      }
     d3:  {                      //блок 3: дискриминант>0
      x1=(-b-sqrt(d))/(2*a);
      x2=(-b+sqrt(d))/(2*a);
      printf("\nx1 = %f",x1);
      printf("\nx2 = %f",x2);
      goto exit;                 //безусловный перехід на exit
     }
    exit:

    No comments.

    Говногость, 06 Сентября 2009

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

    +49.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
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    bool __fastcall TForm1::ImportFile(AnsiString FName, int Direction)
    {
    bool StatusUpload;
    StatusUpload = true;
    
    TStringList *Inside;
    Inside = new TStringList;
    Inside->LoadFromFile(FName);
    if (Direction == 1)
    {
      // ...
      date_made = StrToSqlDate(Inside->Strings[1]);
      ops = Inside->Strings[0];
    
      Inside->Delete(0);
      Inside->Delete(0);
      Inside->Delete(0);
    
      int Iterations = (Inside->Count/5);
      for (int i=0; i<Iterations; i++)
      {
        AnsiString A, B, C, D, E;
        A = Inside->Strings[0].Trim();
        B = Inside->Strings[1].Trim();
        C = Inside->Strings[2].Trim();
        D = Inside->Strings[3].Trim();
        E = Inside->Strings[4].Trim();
        for (int j=0; j<5;j++)
           Inside->Delete(0);
    
        if (A == "1.1.2")
          E='1';
    
        if (A == "4.13" || A == "4.13" || A == "4.13")
    	  E='20';
        C = RemoveZPT(C);
    	ADOQuery1->SQL->Text = "INSERT INTO dnevnik_inside (row_id, ops, date_made, code, sign, val, val_init, direction, type) VALUES ("
          + row_id + ", '" + ops + "', '" + date_made + "', '" + A + "', '"
          + B + "', " + C + ", " + C + ", '" + D +"', '"+E+"')";
        ADOQuery1->ExecSQL();
      }
      Trans->CommitRetaining();
    }

    Собсно, название функции говорит само за себя :)
    П.С. Коллега, не обижайся!

    labutinpa, 05 Сентября 2009

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

    +66.8

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    PChar GetFileContent(PChar FileName)
    {
    ...
    };
    
    static inline signed int GetFileSize(PChar FileName)
    {
      return(((signed int)(strlen(GetFileContent(FileName)))));
    };

    Всё гениальное - просто...

    Говногость, 04 Сентября 2009

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

    +63.1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    if
    (
    IsFiltred
    //проверка на фильтрованность массива
    ==
    true
    )
    {

    Нет слов.

    Говногость, 04 Сентября 2009

    Комментарии (15)
  6. C++ / Говнокод #1765

    +65.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
    ...
    switch( a )
    {
      case false:
      {
        a=true;
      };break;
      case true:
      {
        a=false;
      };break;
      default:
      {
        a=false;
      };break;
    };
    ...

    a - буллёвная переменная.

    Говногость, 04 Сентября 2009

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

    +44.3

    1. 1
    while(*(++a)=*(++b));

    Краткость - сетра таланта.

    Говногость, 02 Сентября 2009

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

    +75.7

    1. 1
    2. 2
    3. 3
    4. 4
    bool SCG__PROCEDURE_DestroyThreadAfterFinalizeExecutedTaskForThisThreadAndFreeMemoryAllocatedForThreadsStructuresIfNeed(TThread* ThreadForDestroy)
    {
    	...
    };

    Из проэкта моего знакомого. Комментарии он пишет очень редко.

    Говногость, 02 Сентября 2009

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

    +57.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
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    volatile void* AllocatedMemory;
    
    int AllocateMemoryThread(const int size)
    {
    	char buffer[size];
    	AllocatedMemory=(void*)buffer;
    	AllocatingDone.Signal();
    	Sleep(INFINITY);
    	return 0;
    };
    
    ...
    
    void* MAlloc(const int size)
    {
    	CriticalSection.Lock();
    	if( !CreateThread(AllocateMemoryThread,true,size,0) )
    		return NULL;
    	AllocatingDone.Wait();
    	const void* AllocatedBuffer=AllocatedMemory;
    	CriticalSection.UnLock();
    	return AllocatedBuffer;
    };

    CriticalSection - критическая секция.
    AllocatingDone - какой-то семафор.
    Вообще не могу понять код. Что он этим хотел сказать...

    Говногость, 02 Сентября 2009

    Комментарии (22)
  10. C++ / Говнокод #1744

    +58.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
    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
    // кусок из хидера
    
    #define b__bl {
    #define e__bl }
    
    #define b__st {
    #define e__st }
    
    #define b__un {
    #define e__un }
    ...
    #define end_if else ;
    
    // Один коротенький метод
    
    void  Sud::vosstkdr()
    b__fu  int i=0, imv=0, imasOut=0, lpovt;
      for(; i<isl; i++) b__fo
        if(imv < lmv)
          if(i==(Pmvosst=mvosst+imv)->imkdrish)
    	{  lpovt=Pmvosst->nvosst+1; imv++;}
          else lpovt=1;
        else lpovt=1;
        for(int k=0; k<lpovt; k++) b__fo
          masOut[imasOut] = mkdrish[i];
          if(mdm) if(++imasOut == 35) return; end_if
          else    if(++imasOut == 32) return; end_if
        e__fo
      e__fo
    e__fu

    Вот так у нас пишет один матёрый программист (юникс). Привёл для примера коротенький метод.
    Особое внимание заслуживает идентификатор mkdrish. Это какая-то комбинация слов "массив", "кадр", "short"

    Dimarius, 02 Сентября 2009

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