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

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

    +102

    1. 1
    2. 2
    3. 3
    4. 4
    var usr = Enumerable.Range(1, 1) 
    	.Select(id => new User(1, "FooBar", "desc" + 1, DateTime.UtcNow)) 
    	.ToReadonly() 
    	.GetRandomElement();

    Из юнит-теста. Копипаста рождает чудовищ.

    VasyaMatros, 08 Декабря 2012

    Комментарии (64)
  3. JavaScript / Говнокод #11690

    +162

    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
    .replace(/😊/g,'<img src="http://vk.com/images/emoji/D83DDE0A.png">')
    .replace(/😃/g,'<img src="http://vk.com/images/emoji/D83DDE03.png">')
    .replace(/😆/g,'<img src="http://vk.com/images/emoji/D83DDE06.png">')
    .replace(/😉/g,'<img src="http://vk.com/images/emoji/D83DDE09.png">')
    .replace(/😜/g,'<img src="http://vk.com/images/emoji/D83DDE1C.png">')
    .replace(/😋/g,'<img src="http://vk.com/images/emoji/D83DDE0B.png">')
    .replace(/😍/g,'<img src="http://vk.com/images/emoji/D83DDE0D.png">')
    .replace(/😎/g,'<img src="http://vk.com/images/emoji/D83DDE0E.png">')
    .replace(/😒/g,'<img src="http://vk.com/images/emoji/D83DDE12.png">')
    .replace(/😏/g,'<img src="http://vk.com/images/emoji/D83DDE0F.png">')
    .replace(/😔/g,'<img src="http://vk.com/images/emoji/D83DDE14.png">')
    .replace(/😢/g,'<img src="http://vk.com/images/emoji/D83DDE22.png">')
    .replace(/😭/g,'<img src="http://vk.com/images/emoji/D83DDE2D.png">')
    .replace(/😩/g,'<img src="http://vk.com/images/emoji/D83DDE29.png">')
    .replace(/😨/g,'<img src="http://vk.com/images/emoji/D83DDE28.png">')
    .replace(/😐/g,'<img src="http://vk.com/images/emoji/D83DDE10.png">')
    .replace(/😌/g,'<img src="http://vk.com/images/emoji/D83DDE0C.png">')
    .replace(/😠/g,'<img src="http://vk.com/images/emoji/D83DDE20.png">')
    .replace(/😡/g,'<img src="http://vk.com/images/emoji/D83DDE21.png">')
    .replace(/😇/g,'<img src="http://vk.com/images/emoji/D83DDE07.png">')
    .replace(/😰/g,'<img src="http://vk.com/images/emoji/D83DDE30.png">')
    .replace(/😲/g,'<img src="http://vk.com/images/emoji/D83DDE32.png">')
    .replace(/😳/g,'<img src="http://vk.com/images/emoji/D83DDE33.png">')
    .replace(/😷/g,'<img src="http://vk.com/images/emoji/D83DDE37.png">')
    .replace(/😚/g,'<img src="http://vk.com/images/emoji/D83DDE1A.png">')
    .replace(/😈/g,'<img src="http://vk.com/images/emoji/D83DDE08.png">')
    .replace(/❤/g,'<img src="http://vk.com/images/emoji/2764.png">')
    .replace(/👍/g,'<img src="http://vk.com/images/emoji/D83DDC4D.png">')
    .replace(/👎/g,'<img src="http://vk.com/images/emoji/D83DDC4E.png">')
    .replace(/☝/g,'<img src="http://vk.com/images/emoji/261D.png">')
    .replace(/✌/g,'<img src="http://vk.com/images/emoji/270C.png">')
    .replace(/👌/g,'<img src="http://vk.com/images/emoji/D83DDC4C.png">')

    Моя реализация обработки смайликов из VK. Это потом уже голова стала соображать и всё заменилось регуляркой с функцией.

    nsauk, 01 Сентября 2012

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

    +141

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    foreach (var item in text.Split(' ')) {
    	if (!string.IsNullOrEmpty(item)) {
    		text = item;
    		break;
    	}
    }

    переменная text всегда содержит несколько пробелов и затем идентификатор.

    paladin80, 02 Августа 2012

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

    +989

    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
    stek* getLast(){
    	stek* result = first;
    	while (!isLast(*result)){
    		result = result->next;
    	}
    	return result;
    }
    void push( char* string ){
    	stek* anew = new stek;
    	anew->string = string;
    	anew->next = NULL;
    	anew->first = first;
    	getLast()->next = anew;
    }
    void printList(){
    	if (first != NULL){
    		stek* element = first;
    		puts( element->string );
    		while (!isLast(*element)){
    			element = element->next;
    			puts( element->string );
    		}
    	}
    	else{
    		puts( "List is empty" );
    	}
    }
    stek* getPrev( stek* element ){
    	stek* result = first;
    	while (result->next != element){
    		result = result->next;
    	}
    	return result;
    }
    void changeFirstInList( stek* newFirst ){
    	stek* element = first;
    	while (element != NULL){
    		element->first = newFirst;
    		element = element->next;
    	}
    }
    void deleteElement( stek* element )
    {
    	if ( element->first == element ){
    		first = element->next;
    		changeFirstInList( first );
    	}
    	else{
    		stek* prev = getPrev( element );
    		stek* next = element -> next;
    		prev->next = next;
    	}
    }
    void deleteElements( int length ){
    	stek* element = first;
    	while (element != NULL){
    		stek* next = element->next;
    		if (strlen(element->string) < length) {
    		    deleteElement( element );
    		}
    		element = next;
    	}
    }
    int _tmain(int argc, _TCHAR* argv[]){ 
    	char *token;
    	char st1[80];
    	int minLength = 4;
    	int n=0;
    	
    	printf("Enter string: ");
    	gets( st1 );
    	printf("Enter minimal length: ");
    	scanf( "%d", &minLength );
    
    	first=NULL;
    	first=new stek;
    	first->next=NULL;
    	first->first=first;
      token=strtok(st1," ");
      first->string=token;
      token=strtok(NULL," ");
      while( token != NULL){ 
    	push(token);;
    	token=strtok(NULL," ");
      }
      stek* element = first;
      while (element != NULL){
    	stek* next = element->next;
    	if (strlen(element->string)<3) n++;
    	element = next;
      }
      puts("Initial stack:");
      printList();
      deleteElements( minLength );
      printf("Slov dlinoi less than 3: %d\n",n);
      puts("After deleting:");
      printList();
      getch();
    }

    Лабораторная работа, написанная двумя студентами первого курса. Задание: "Дана строка 80 символов, разбить её на слова (разделитель - пробел), удалить слова меньше опр. длины и вывести количество слов с длиной меньше 3-ех".
    Почти каждая строчка в main'e - перл.
    З.Ы. Форматирование кода тоже доставляет.

    Fai, 10 Апреля 2012

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

    +160

    1. 1
    2. 2
    http://habrahabr.ru/blogs/about_cms/130082/
    facepalm.png

    dlemaser (aka WebKill), хабр ниторт^Wговно

    DrFreez, 10 Октября 2011

    Комментарии (64)
  7. JavaScript / Говнокод #7871

    +160

    1. 1
    2. 2
    3. 3
    window.alert = function(){
            events.event(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4]);
        }

    И это - в продакшене. Писано - для военных

    Teddy_Brown, 15 Сентября 2011

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

    +167

    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
    const StringId sidPathName = [=]() -> const char* const
    {
    	switch (path)
    	{
    		case PATH_TOWN_HERO:
    			return "game/careers/town_hero";
    		case PATH_MAD_SCIENTIST:
    			return "game/careers/mad_scientist";
    		case PATH_SPECIAL_AGENT:
    			return "game/careers/special_agent";
    		case PATH_PSYCHIC_PAINTER:
    			return "game/careers/psychic_painter";
    		default:
    			RZT_ASSERT(false);
    			return "";
    	}
    }();

    Не удержался: давно мечтал о возможности ставить const на такие переменные, не отказываясь при этом от свитчей!

    Kirinyale, 21 Февраля 2011

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

    +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
    13. 13
    #include <stdio.h>
    
    int main() {
    	unsigned d,t,k;
    	scanf("%d",&d);
    	t=d;
    	for(k=0;t!=0;k++) //определяем кол-во значащих битов
    		t>>=1;
    	//обнуляем старший значащий бит
    	d<<=sizeof(d)*8-k+1; 
    	d>>=sizeof(d)*8-k+1; 
    	return 0;
    }

    Вот такое вот обнуление старшего бита

    movaxbx, 11 Июня 2010

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

    +52.6

    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
    #include <iostream.h>
    #include <conio.h>
    using namespace std;
    
    int main (int argc, char *argv[])
    {
     
      system ("Title Kaлькyлятop");
    
      int x, y, otvet;
      char znak;
     
      cin >> x >> znak >> y;
        
      if (znak == '+') otvet = x+y;
      if (znak == '-') otvet = x-y;
      if (znak == '*') otvet = x*y;
      if (znak == '/') otvet = x/y;
    
      system ("cls");
    
      cout << x << znak << y << "=" << otvet;
    
      getch();
      return 0;
    }

    Kaлькyлятop

    men, 19 Января 2010

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

    +42.3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    /// Однажды придумал от скуки :) the1st.net.ru
    
    if(!function_exists('function_exists')) {
     function function_exists($f) {
      return function_exists($f);
     }
    }

    Придумано от скуки на досуге. Довольно спонтанно вырвалась мысль и была сразу воплощена в жизнь :)

    guest, 23 Ноября 2008

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