1. PHP / Говнокод #12361

    +53

    1. 1
    2. 2
    3. 3
    4. 4
    function dodo(whata) { 
       div = document.getElementById("td1").parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode; 
       div.getElementsByClassName("field-content mainpic")[0].innerHTML = \'<img typeof="foaf:Image" src="\' +whata+\'" width="150" height="230" alt=""/>\'; 
    }

    Хуки в Drupal

    tagrim, 26 Декабря 2012

    Комментарии (7)
  2. Си / Говнокод #12360

    +111

    1. 1
    2. 2
    for(p=first; p!=NULL; p=p->next)
      free(p);

    Освобождаем память всех элементов списка.

    taburetka, 26 Декабря 2012

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

    +56

    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
    function utf8_to_cp1251 ($txt)  {
      $out_arr = array (
        chr(208), chr(192), chr(193), chr(194),chr(195), chr(196), chr(197), chr(168),
        chr(198), chr(199), chr(200), chr(201),chr(202), chr(203), chr(204), chr(205),
        chr(206), chr(207), chr(209), chr(210),chr(211), chr(212), chr(213), chr(214),
        chr(215), chr(216), chr(217), chr(218),chr(219), chr(220), chr(221), chr(222),
        chr(223), chr(224), chr(225), chr(226),chr(227), chr(228), chr(229), chr(184),
        chr(230), chr(231), chr(232), chr(233),chr(234), chr(235), chr(236), chr(237),
        chr(238), chr(239), chr(240), chr(241),chr(242), chr(243), chr(244), chr(245),
        chr(246), chr(247), chr(248), chr(249),chr(250), chr(251), chr(252), chr(253),
        chr(254), chr(255)
      );
      $in_arr = array (
        chr(208).chr(160), chr(208).chr(144), chr(208).chr(145),chr(208).chr(146), chr(208).chr(147), chr(208).chr(148),
        chr(208).chr(149), chr(208).chr(129), chr(208).chr(150),chr(208).chr(151), chr(208).chr(152), chr(208).chr(153),
        chr(208).chr(154), chr(208).chr(155), chr(208).chr(156),chr(208).chr(157), chr(208).chr(158), chr(208).chr(159),
        chr(208).chr(161), chr(208).chr(162), chr(208).chr(163),chr(208).chr(164), chr(208).chr(165), chr(208).chr(166),
        chr(208).chr(167), chr(208).chr(168), chr(208).chr(169),chr(208).chr(170), chr(208).chr(171), chr(208).chr(172),
        chr(208).chr(173), chr(208).chr(174), chr(208).chr(175),chr(208).chr(176), chr(208).chr(177), chr(208).chr(178),
        chr(208).chr(179), chr(208).chr(180), chr(208).chr(181),chr(209).chr(145), chr(208).chr(182), chr(208).chr(183),
        chr(208).chr(184), chr(208).chr(185), chr(208).chr(186),chr(208).chr(187), chr(208).chr(188), chr(208).chr(189),
        chr(208).chr(190), chr(208).chr(191), chr(209).chr(128),chr(209).chr(129), chr(209).chr(130), chr(209).chr(131),
        chr(209).chr(132), chr(209).chr(133), chr(209).chr(134),chr(209).chr(135), chr(209).chr(136), chr(209).chr(137),
        chr(209).chr(138), chr(209).chr(139), chr(209).chr(140),chr(209).chr(141), chr(209).chr(142), chr(209).chr(143)
      );
      $txt = str_replace($in_arr,$out_arr,$txt);
      return $txt;
    }

    Ещё один случай лютой ненависти к iconv().

    Stallman, 26 Декабря 2012

    Комментарии (12)
  4. PHP / Говнокод #12358

    +55

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    function process() {
        ...
        throw new Exception( $error );
        return false;
    }

    Понятно, что сперва было без исключений, но не ясно чего постеснялись убрать ретерн фелс.

    enures, 25 Декабря 2012

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

    +57

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    function attribute( $attr ) {
        if( method_exists( $this, $attr ) ) {
            return $this->$attr();
        }
    
        return $this->$attr();
    }

    Видимо сначало было без проверки.

    enures, 25 Декабря 2012

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

    +56

    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 isAvailable( $args ) {
        $available = fetchAvailability( $args );
        
        return $available ? 'yep' : 'noup';
    }
    
    // Где-то в javascript после вызова isAvailable()
    function isAvailableCallback( result ) {
        if ( result === 'yep' ) {
        ...
        }
    }

    Альтернативный способ работы с логическим типом данных. Используется как и в javascript так и в php.

    enures, 25 Декабря 2012

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

    +24

    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
    #include <iostream>
    #define n 1
    int main()
    {
    using namespace std;
    cout << (n < 0 ? 1 : 0)+
    ((n << 1) < 0 ? 1 : 0)+
    ((n << 2) < 0 ? 1 : 0)+
    ((n << 3) < 0 ? 1 : 0)+
    ((n << 4) < 0 ? 1 : 0)+
    ((n << 5) < 0 ? 1 : 0)+
    ((n << 6) < 0 ? 1 : 0)+
    ((n << 7) < 0 ? 1 : 0)+
    ((n << 8) < 0 ? 1 : 0)+
    ((n << 9) < 0 ? 1 : 0)+
    ((n << 10) < 0 ? 1 : 0)+
    ((n << 11) < 0 ? 1 : 0)+
    ((n << 12) < 0 ? 1 : 0)+
    ((n << 13) < 0 ? 1 : 0)+
    ((n << 14) < 0 ? 1 : 0)+
    ((n << 15) < 0 ? 1 : 0)+
    ((n << 16) < 0 ? 1 : 0)+
    ((n << 17) < 0 ? 1 : 0)+
    ((n << 18) < 0 ? 1 : 0)+
    ((n << 19) < 0 ? 1 : 0)+
    ((n << 20) < 0 ? 1 : 0)+
    ((n << 21) < 0 ? 1 : 0)+
    ((n << 22) < 0 ? 1 : 0)+
    ((n << 23) < 0 ? 1 : 0)+
    ((n << 24) < 0 ? 1 : 0)+
    ((n << 25) < 0 ? 1 : 0)+
    ((n << 26) < 0 ? 1 : 0)+
    ((n << 27) < 0 ? 1 : 0)+
    ((n << 28) < 0 ? 1 : 0)+
    ((n << 29) < 0 ? 1 : 0)+
    ((n << 30) < 0 ? 1 : 0)+
    ((n << 31) < 0 ? 1 : 0)
    << endl;
    return 0;
    }

    Для заданного пятизначного целого числа подсчитать количество его нулей.
    Прямо с экзамена. Преподаватель катается по полу. Не шучу.

    LispGovno, 25 Декабря 2012

    Комментарии (65)
  8. PHP / Говнокод #12353

    +51

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    if (Yii::app()->session->itemAt('version') == 'mobile') {
        $this->render('counting');
    }
    else {
        $this->render('counting');
    }

    No way.

    MaxSvargal, 25 Декабря 2012

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

    +52

    1. 1
    2. 2
    3. 3
    } catch (\Exception $e) {
                echo "<h1>Noooooooooooooooooooo!!!!!!</h1>"; 
            }

    __proto__, 25 Декабря 2012

    Комментарии (5)
  10. Си / Говнокод #12351

    +135

    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
    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    #define MAXSIZE 512
    
    typedef struct word
    {
    	char wordBody[MAXSIZE];
    	int count;
    	struct word* next;
    } Word;
    
    Word* alloc(char* incomeWord)
    {
    	Word* ret;
    	ret = (Word*)malloc(sizeof(Word));
    	ret->count=1;
    	ret->next=NULL;
    	strcpy(ret->wordBody, incomeWord);
    }
    
    void insert(Word **n, char* incomeWord)
    {
    	Word** p_p_n;
    	int h=0;
    
    	if(*n==NULL)
    	{
    		*n = alloc(incomeWord);
    		return;
    	}
    
    	for(p_p_n = n; *p_p_n!=NULL; p_p_n = &(*p_p_n)->next)
    	{
    		if((strcmp(incomeWord,&(*p_p_n)->wordBody))==0)
    		{
    			(*p_p_n)->count++;
    			return;
    		}
    	}
    
    	for(p_p_n = n; *p_p_n!=NULL; p_p_n = &(*p_p_n)->next)
    	{
    		Word* ins = alloc(incomeWord);
    		Word* temp = *p_p_n;
    		Word** tt;
    		int is=0;
    		tt=p_p_n;
    		ins->next=temp;
    		*p_p_n = ins;
    		break;
    	}
    }
    
    void print(Word* n)
    {
    	while(n!=NULL) {
    		if(n->count > 1)
    		{
    			printf("%s %d\n", n->wordBody, n->count);
    		}
    		n=n->next;
    	}
    }
    
    int main(void)
    {
    	char buf[MAXSIZE]={'\0'};
    	FILE *fr;
    	Word* sez=NULL;
    	fr=fopen("Text1.txt", "r");
    
    	while(!feof(fr))
    	{
    		fscanf(fr,"%s",buf);
    		insert(&sez,buf);
    	}
    
    	print(sez);
    	printf("\n%d\n", sizeof(sez));
    	fclose(fr);
    	return 0;
    }

    Считаем сколЬко раз каждое слово встречается в текстовом файле. Программа выполняется 6.5 минут с файлом размером 850 килобайт.

    taburetka, 25 Декабря 2012

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