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

    +152

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    class ListEl{
    public:
    int val;
    ListEl *head;
    ListEl *tail;
    }
    
    class MyList{
    public:
    ListEl *head, *tail;

    Rohanion, 03 Января 2011

    Комментарии (100)
  2. JavaScript / Говнокод #5134

    +153

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    this.exec = function(code,op){
      op = op || 0;
      for(cp=0;cp<code.length;cp++){
        if(code[cp]=='op'){this.stack.push(op)}
    	else if(code[cp].isNumber){this.stack.push(parseFloat(code[cp]))}
    	else if(this.vars[code[cp]] != undefined){this.stack.push(this.vars[code[cp]])}
    	else if(this.refs[code[cp]] != undefined){this.call(code[cp])}
    	else if(this.mathOp.oneOf(code[cp])){this.mathOp(code[cp])}
    	else if(code[cp] == '->'){cp++;this.vars[code[cp]]=this.stack.pop();}
      }
    }

    Еще один говнокод из моего известного некоторым особо внимательным личностям проекта

    art543484, 02 Января 2011

    Комментарии (38)
  3. Си / Говнокод #5133

    +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
    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
    struct 
    {
    	unsigned char * low;  //младшая часть адреса
      	unsigned char * high; //страшая часть адреса(только младших 3 бита)
    } padr;
    
    void filladdr(unsigned int * addr) //подготовка адресных ног МК
    {
    	padr.low = (unsigned char *)addr;
    	padr.high = padr.low + 1;
    	PORTB = *padr.low;
    	PORTE &= 0x8;
    	PORTE |= *padr.high;
    
    }
    
    unsigned char readFromSRAM(unsigned int * adrss)
    {
    	char outD;
    	TRISD = 0xFF;
    	filladdr(adrss);
    	PORTA &= 0xFC;
    	NOP(); // задержка на время доступа
    	outD = PORTD;
    	PORTA |= 0x7;
    	return outD;
    }
    
    void writeToSRAM(unsigned int * adrss, unsigned char * data)
    {
    	TRISD = 0x0;
    	filladdr(adrss);
    	PORTD = *data;
    	PORTA &= 0xF8;
    	NOP();  // задержка на время доступа
    	PORTA |= 0x7;
    	PORTD = 0x0;
    }

    говнокод для работы с 2кб внешней SRAM памяти для микроконтролеров pic

    nice_penguin, 02 Января 2011

    Комментарии (41)
  4. JavaScript / Говнокод #5132

    +160

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    var vk = {
      al: parseInt('2') || 4,
      intnat: '' ? true : false,
      lang: 0,
      rtl: parseInt('') || 0,
      version: 1029,
      zero: false
    }

    parseInt('2') || 4 — для чего это? Выдаст же 2.

    UnderShot, 02 Января 2011

    Комментарии (15)
  5. JavaScript / Говнокод #5131

    +158

    1. 1
    $(this).parents('#orig').clone().appendTo('#main');

    Клонирование элементов формы

    Мартин, 02 Января 2011

    Комментарии (12)
  6. Куча / Говнокод #5130

    +145

    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
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    97. 97
    98. 98
    99. 99
    #define подъёбку setlocale
    #define чуть_чуть 7
    #define так_себе 12
    #define пошло_оно_всё 120
    #define срака double
    #define волосатая unsigned long
    #define фигню фигня
    #define кидай cin >> 
    #define кончил }
    #define начал {
    #define конкретно *
    #define ну )
    #define в_общем (
    #define кагбэ [ 
    #define ХУЙ 0
    #define да ] 
    #define какая_то int
    #define какой_то int
    #define какое_то int
    #define какие_то int
    #define давай void
    #define туды_сюды for
    #define Слышь_это cout <<
    #define эээ <<
    #define и_ещё_больше ++
    #define хуякс /
    #define Подрыхнуть Sleep
    #define подвинь_жопу new
    #define бля endl
    #define шнягу шняга
    #define стал =
    #define стала =
    #define стало =
    #define стали =
    #define взад return
    #define ну_если_уж if
    #define убрать_нахуй delete
    #define Закрой_Пасть CloseHandle
    #define УЁБИЩЕ HANDLE
    #define стало_похоже_на ==
    #define говно NULL
    #define присобачить +=
    #define тогда /*WTF*/
    #define Жди_Хрен_Дождёшься WaitForSingleObject
    #define вантуз GetLastError
    #define ХУИТА main // sic!
    #define поехали CreateThread
    #define въёбывай LPTHREAD_START_ROUTINE
    #define почти <
    #define норма 1
    #define ДОХУЯ INFINITE
    #include <windows.h>
    #include "stdafx.h"
    #include <iostream>
    #pragma warning в_общем disable: 4244 ну 
    using namespace std;
    какая_то фигня;
    какие_то маленькое, ОГРОМНОЕ;
    какие_то Ленин, ЕБАНУТОСТЬ;
    давай поработай в_общем какая_то конкретно шняга ну 
    начал 
    маленькое стало шняга кагбэ ХУЙ да;
    какой_то козёл, говнистость;
    туды_сюды в_общем козёл стал норма; козёл почти фигня; козёл и_ещё_больше ну 
    начал 
    ну_если_уж в_общем шняга кагбэ козёл да почти маленькое ну 
    начал 
    маленькое стало шняга кагбэ козёл да;
    Ленин стал козёл;
    Подрыхнуть в_общем так_себе ну;
    кончил 
    кончил 
    Слышь_это "\n\nМинимальный элемент массива: " эээ маленькое эээ бля;
    ОГРОМНОЕ стало шняга кагбэ ХУЙ да;
    туды_сюды в_общем говнистость стало норма; говнистость почти фигня; говнистость и_ещё_больше ну 
    начал 
    ну_если_уж в_общем шняга кагбэ говнистость да > ОГРОМНОЕ ну 
    начал 
    ОГРОМНОЕ стало шняга кагбэ говнистость да;
    ЕБАНУТОСТЬ стала говнистость;
    Подрыхнуть в_общем пошло_оно_всё ну;
    кончил кончил 
    Слышь_это "\n\nМаксимальный элемент массива: " эээ ОГРОМНОЕ эээ бля; кончил 
    какая_то ХУИТА в_общем ну начал подъёбку в_общем ХУЙ, ".1251" ну;
    Слышь_это "\nВведите размерность массива: \n"; кидай фигню;
    какая_то конкретно шняга стал подвинь_жопу какая_то кагбэ фигня да;
    Слышь_это "\nВведите элементы массива: \n";
    туды_сюды в_общем какой_то козёл стал говно; 
    козёл почти фигня; козёл и_ещё_больше ну кидай шнягу кагбэ козёл да;
    волосатая пизда;
    УЁБИЩЕ быдло стало поехали в_общем говно, говно, в_общем въёбывай ну поработай, в_общем давай конкретно ну шняга, ХУЙ, &пизда ну;
    ну_если_уж в_общем быдло стало_похоже_на говно ну тогда взад вантуз в_общем ну; // Если ошибка
    срака посередине стало шняга кагбэ ХУЙ да;
    туды_сюды в_общем какая_то козёл стал норма; козёл почти фигня; козёл и_ещё_больше ну 
    начал
    посередине присобачить шнягу кагбэ козёл да;
    Подрыхнуть в_общем чуть_чуть ну;
    кончил
    кончил

    Дело было на первом курсе...

    perkele, 02 Января 2011

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

    +132

    1. 1
    <a href=# onlick="linkme(this)">

    Полижи ссылку!

    basename, 01 Января 2011

    Комментарии (12)
  8. JavaScript / Говнокод #5128

    +162

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    $('p.li').click(function(){
    var li = $(this).attr("id");
    switch (li) {
    case 'a': ($('div.win').load('a.html')); break
    case 'b': ($('div.win').load('b.html')); break
    case 'c': ($('div.win').load('c.html')); break
    case 'd': ($('div.win').load('d.html')); break
    case 'e': ($('div.win').load('e.html')); break
    case 'f': ($('div.win').load('f.html')); break
    default: ($('div.win').load('Error.html'));
    }

    UnderShot, 01 Января 2011

    Комментарии (94)
  9. JavaScript / Говнокод #5127

    +163

    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
    ....
    this.add_var = function(code){
      if(!this.undef.oneOf(code[1])){
        vName = code[1];
        if(this.isName(vName)){
          if(this.type[vName] == undefined){
            this.type[vName] = 'var';
            if(code[2] == '='){
              if(!this.undef.oneOf(code[3])){
                if(this.isNumber(code[3])){
                  value = parseFloat(code[3]);
                  this.vars[vName] = value;
                  return value;
                }else if(this.isName(code[3])){
                  if(this.vars[code[3]] != undefined){
                    value = this.vars[code[3]];
                    this.vars[vName] = value;
                    return value;
                  }else{
                    return 'Error:variable ' + code[3] + ' undefined.'
                  }
                }else{
                  return 'Error:value must be variable or number'
                }
              }else{
                return 'Error:you not type var value.'
              }
            }else{
              return 'nil';
            }
          }else{
            return 'Error:variable already defined.';
          }
        }else{
          return 'Error: in variable name.'
        }
      }else{
        return 'Error: you not type var name.'
      }
    }
    ....

    Часть исходника интерпретатора функционального ЯПа добавляющая переменные в контекст.
    Представляет собой каскад всевозможных проверок.

    art543484, 01 Января 2011

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

    +113

    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
    let rnd = System.Random()
     
    // создаём строку, содержащую 10 случайных чисел, разделённых пробелами
    let sourceString = System.String.Join (" ", [1..10] |> List.map (fun x -> rnd.Next(1, 10).ToString()))
     
    // функция, удаляющая повторяющиеся числа из строки
    let removeDuplicate str =
        // разбиваем строку на отдельные числа
        let sourceList = sourceString.Split ([|' '|]) |> Array.toList |> List.map (fun x -> System.Int32.Parse (x))
        
        // список, в который будем ложить неповторяющиеся элементы
        let newList = ref []
     
        // проходим по всем элементам исходного списка
        List.iter
            (fun x -> 
                // если элемента в новом списке ещё нет, кладём его туда
                if (List.exists (fun y -> y = x) !newList) = false 
                then (newList := List.append !newList [x]))
            sourceList
     
        // получаем строку из списка с неповторяющимися элементами
        System.String.Join (" ", !newList |> List.map (fun x -> x.ToString()))
     
    // получаем новую строку
    let resultString = removeDuplicate sourceString
     
    // выводим старую и новую строку
    printfn "%s" sourceString
    printfn "%s" resultString

    qbasic, 01 Января 2011

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