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

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

    +141

    1. 1
    2. 2
    3. 3
    4. 4
    int i = 10;
    while(i --> 0){
        print(i);
    }

    zlob.jc, 31 Июля 2013

    Комментарии (16)
  3. Python / Говнокод #13471

    −98

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    try:
       while True:
           prices.remove(u"")
       except ValueError:
           pass

    Удаление пустых строк из списка.

    FlySnake, 24 Июля 2013

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

    +78

    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
    //
    // Превед.cpp : Defines the entry point for the console application.
    //
    
    #include <iostream>
    #include <locale.h>
    
    //------------------------------------------------------------------
    // The PREVED Language Kernel area. Do not touch! :)
    
    #if !defined (_MSC_VER) || _MSC_VER < 1400
    #error Wrong compiler! Use MSVS 8.0
    #endif
    
    #define НАЧЕЛ      {
    #define КОНЧЕЛ     ;}
    #define ТИПА       int
    #define ВДРУГ      if (
    #define ТАДА       )
    #define НИХРИНА    else
    #define ВЗАД       return
    #define КАГДИЛА    (
    #define ЙО         ;
    #define ЖЖОШ(p,n)  for (; (p) <= (n); (p)++)
    
    #define БАЗАР      std::cout << 
    #define СЛЫШЬ      << 
    #define СТОЙ       system ("echo. & pause");
    #define БЛИН       _wsetlocale (LC_ALL, L"Russian_Russia.ACP");
    
    #define ВРОДЕ      try 
    #define ИБАНУЦЦО   throw
    #define АПСТЕНУ    catch (const char* __чё__)
    
    #define ПРЕВЕД     ТИПА main КАГДИЛА ТАДА
    #define МЕДВЕД     ВЗАД 0; КОНЧЕЛ
    
    // End of area
    //------------------------------------------------------------------
    
    ТИПА КРУТО КАГДИЛА ТИПА фигня ТАДА
        НАЧЕЛ
        БАЗАР "ВАЩЕ " ЙО
        ВДРУГ фигня == 8 ТАДА ИБАНУЦЦО "мля! " ЙО
        ВЗАД 0
        КОНЧЕЛ
    
    ПРЕВЕД
        НАЧЕЛ
        БЛИН
    
        ВРОДЕ НАЧЕЛ
    
        ТИПА фишка = 0 ЙО
    
        ЖЖОШ (фишка, 10)
            НАЧЕЛ
            БАЗАР фишка СЛЫШЬ " "; 
            ВДРУГ фишка >= 5 ТАДА КРУТО (фишка) ЙО
            КОНЧЕЛ
    
        КОНЧЕЛ АПСТЕНУ НАЧЕЛ
            БАЗАР "ИБАНУЦЦО invoked: " СЛЫШЬ __чё__;
        КОНЧЕЛ
    
        СТОЙ
        МЕДВЕД

    С ЛОРа.

    RiseOfDeath, 16 Июля 2013

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

    +135

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    $something = $_POST['something'];
    
    $array = explode(",", $something);
    
    $i = 0;
    
    for( $i; $i < count( $array ); $i++ ) {
       $db->query("INSERT INTO db_table (`a`, `b`, `c`) VALUE ('value1', 'value2', '".$array[$i]."') ");
    }

    Весь код не стал выкладывать, тут только логика моего говнокода. Нашел в своем старом коде, тогда еще незнал про конструкцию вида INSERT INTO table () VALUE (), (), ()

    PragramistOtBoga, 09 Июля 2013

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

    +25

    1. 1
    2. 2
    while(_right=_right->_right)
    				delete _right;

    All right.

    LispGovno, 01 Июля 2013

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

    +141

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    function TForm1.Pars(T_, ForS, _T: string): string;
    var a, b:integer;
    	begin
    	Result := '';
    	if (T_='') or (ForS='') or (_T='') then Exit;
    	a:=Pos(T_, ForS);
    	if a=0 then Exit else a:=a+Length(T_);
    	ForS:=Copy(ForS, a, Length(ForS)-a+1);
    	b:=Pos(_T, ForS);
    	if b>0 then
    	Result:=Copy(ForS, 1, b - 1);
    	end;

    Давно хотел выложить эту дуру на форум.
    В чем лажа? Я подозреваю, что перегруженный оператор '=' применительно к строкам (сравнение двух строк) это вызов lstrcmp.
    следовательно, POS ЧУВСТВИТЕЛЬНА к регистру!! Это значит, что функция вернет фалс, сравнивая ВоТ эТО и вот это.
    Но это полбеды. Иные горемыки передают ей километровый текст в качестве шаблона - это нормально.

    И потом еще кто то наивно удивляется, почему функция пропускает нужное или хватает лишнее.

    Stertor, 26 Июня 2013

    Комментарии (16)
  8. Objective C / Говнокод #13053

    −80

    1. 1
    2. 2
    self.data = [[NSMutableData alloc] initWithLength:0];
    [data release];

    Indian code.
    So deep.

    ivandjeferov, 26 Мая 2013

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

    +14

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    uint8_t* head = (uint8_t*) Buffer::Data(buffer);
    uint8_t* tail = head + Buffer::Length(buffer) - 1;
    
    // xor swap, just because I can
    while (head < tail) *head ^= *tail, *tail ^= *head, *head ^= *tail, ++head, --tail;

    https://github.com/bnoordhuis/node-buffertools/blob/master/buffertools.cc#L157

    movaxbx, 22 Мая 2013

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

    +13

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    bool[] Inmask;
    ....
            private void discreteOIForm_Load(object sender, EventArgs e)
            {
                if (icpI_measure.Connect() && icpO_measure.Connect())
                {
                    Inmask = new bool[1];
                    Inmask[Convert.ToInt32(0)] = true;
                }
            }

    Новоприбывший сотрудник откладывает вот такое. Это он сделал после совета использовать маски. Вы когда-нибудь видели массив из одного элемента? Я тоже нет.

    phys-tech, 07 Мая 2013

    Комментарии (16)
  11. Objective C / Говнокод #12964

    −100

    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
    {
    	//replace common symbols...
    	[createWrapperName setStringValue:[[createWrapperName stringValue] stringByReplacingOccurrencesOfString:@"&" withString:@"and"]];
    	[createWrapperName setStringValue:[[createWrapperName stringValue] stringByReplacingOccurrencesOfString:@"!" withString:@""]];
    	[createWrapperName setStringValue:[[createWrapperName stringValue] stringByReplacingOccurrencesOfString:@"#" withString:@""]];
    	[createWrapperName setStringValue:[[createWrapperName stringValue] stringByReplacingOccurrencesOfString:@"$" withString:@""]];
    	[createWrapperName setStringValue:[[createWrapperName stringValue] stringByReplacingOccurrencesOfString:@"%" withString:@""]];
    	[createWrapperName setStringValue:[[createWrapperName stringValue] stringByReplacingOccurrencesOfString:@"^" withString:@""]];
    	[createWrapperName setStringValue:[[createWrapperName stringValue] stringByReplacingOccurrencesOfString:@"*" withString:@""]];
    	[createWrapperName setStringValue:[[createWrapperName stringValue] stringByReplacingOccurrencesOfString:@"(" withString:@""]];
    	[createWrapperName setStringValue:[[createWrapperName stringValue] stringByReplacingOccurrencesOfString:@")" withString:@""]];
    	[createWrapperName setStringValue:[[createWrapperName stringValue] stringByReplacingOccurrencesOfString:@"+" withString:@""]];
    	[createWrapperName setStringValue:[[createWrapperName stringValue] stringByReplacingOccurrencesOfString:@"=" withString:@""]];
    	[createWrapperName setStringValue:[[createWrapperName stringValue] stringByReplacingOccurrencesOfString:@"|" withString:@""]];
    	[createWrapperName setStringValue:[[createWrapperName stringValue] stringByReplacingOccurrencesOfString:@"\\" withString:@""]];
    	[createWrapperName setStringValue:[[createWrapperName stringValue] stringByReplacingOccurrencesOfString:@"?" withString:@""]];
    	[createWrapperName setStringValue:[[createWrapperName stringValue] stringByReplacingOccurrencesOfString:@">" withString:@""]];
    	[createWrapperName setStringValue:[[createWrapperName stringValue] stringByReplacingOccurrencesOfString:@"<" withString:@""]];
    	[createWrapperName setStringValue:[[createWrapperName stringValue] stringByReplacingOccurrencesOfString:@";" withString:@""]];
    	[createWrapperName setStringValue:[[createWrapperName stringValue] stringByReplacingOccurrencesOfString:@":" withString:@""]];
    	[createWrapperName setStringValue:[[createWrapperName stringValue] stringByReplacingOccurrencesOfString:@"@" withString:@""]];
    	// ...
    }

    Так-то.

    Источник: https://sourceforge.net/p/wineskin/code/ci/master/tree/Wineskin%20Winery/Wineskin_WineryAppDelegate.m

    P. S. А тулза, между прочим, нужная. Наткнулся на багу, полез фиксить. Увидев AppDelegate.m на 2700+ строк, заинтересовался, и не зря: вышеприведенное — мелочи.

    UncleAli, 03 Мая 2013

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