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

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

    +124

    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
    <?php
    //вот это наверное самый тупой вывод случаных ссылок из бд
    $zap="select * from stat";$zap=mysql_query($zap);$zap=mysql_num_rows($zap);$id=rand($zap-5,-1);
    $query="select * from stat where (id=$id)";$result=mysql_query($query);$r=mysql_fetch_array($result);$dop=$r[name];$inc=$r[inc];$inc = explode("<|>", $inc);$name=$inc[0];//первая ссылка
    $query="select * from stat where (id=$id+1)";$result=mysql_query($query);$r=mysql_fetch_array($result);$dop2=$r[name];$inc=$r[inc];$inc = explode("<|>", $inc);$name2=$inc[0];//Вторая ссылка
    $query="select * from stat where (id=$id+2)";$result=mysql_query($query);$r=mysql_fetch_array($result);$dop3=$r[name];$inc=$r[inc];$inc = explode("<|>", $inc);$name3=$inc[0];//третья ссылка
    $query="select * from stat where (id=$id+3)";$result=mysql_query($query);$r=mysql_fetch_array($result);$dop4=$r[name];$inc=$r[inc];$inc = explode("<|>", $inc);$name4=$inc[0];//четвертая  ссылка
    $query="select * from stat where (id=$id+4)";$result=mysql_query($query);$r=mysql_fetch_array($result);$dop5=$r[name];$inc=$r[inc];$inc = explode("<|>", $inc);$name5=$inc[0];//пятая ссылка
    ?>
    <a href="<?php echo ("$nhost/stat/$dop/");?>"><?php echo ("$name");?></a>
    <a href="<?php echo ("$nhost/stat/$dop2/");?>"><?php echo ("$name2");?></a>
    <a href="<?php echo ("$nhost/stat/$dop3/");?>"><?php echo ("$name3");?></a>
    <a href="<?php echo ("$nhost/stat/$dop4/");?>"><?php echo ("$name4");?></a> 
    <a href="<?php echo ("$nhost/stat/$dop5/");?>"><?php echo ("$name5");?></a>
    </b>
    <div  class="artif" ></div>

    Vasiliy, 29 Июля 2010

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

    +152

    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
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    template<typename T> class myVector {
    private:
    	T* data; // Указатель на массив с данными
    	int count; //Кол-во элементов в векторе
    	T maxv, minv; // Максимальный и минимальный элементы
    	void quicksort(T a[], const int& leftarg, const int& rightarg) const // Сортировочка
    	{
    		if (leftarg < rightarg) {
    			T pivotvalue = a[leftarg];
    			int left = leftarg - 1;
    			int right = rightarg + 1;
    			for(;;) {
    
    				while (a[--right] > pivotvalue);
    				while (a[++left] < pivotvalue);
    				if (left >= right) break;
    				T temp = a[right];
    				a[right] = a[left];
    				a[left] = temp;
    			}
    			int pivot = right;
    			quicksort(a, leftarg, pivot);
    			quicksort(a, pivot + 1, rightarg);
    		}
    	}
    public:
    	myVector() : count(0), data(0), maxv(0), minv(0) // Я хз какие дефолтные значения задавать maxv и minv
    	{
    	}
    	~myVector() //Деструктор
    	{
    		if (data)
    			delete [] data;
    	}
    	void operator<<(const T &Value) //Оператор для добавления элемента в вектор
    	{
    		data = (T*)realloc(data, ++count * sizeof(T));
    		data[count-1] = Value;
    		if (maxv < Value) // Чтобы не искать максимальный и минимальный элемент, чекаем значение при добавлении в массив
    			maxv = Value;
    		else 
    			if (minv > Value)
    				minv = Value;
    	}
    	T& operator[](const int &Index)//Оператор [] для доступа по индексу
    	{
    		if (Index >= count) throw 1;
    		return data[Index];
    	}
    	void orderAsc(T *result) const //Сортировка по возрастанию
    	{
    		if (!data) throw 1;
    		memcpy(result, data, sizeof(T) * count);
    		quicksort(result, 0, count - 1);
    	}
    	void orderDesc(T *result) const
    	{
    		if (!data) throw 1;
    		memcpy(result, data, sizeof(T) * count);
    		quicksort(result, 0, count - 1);
    		int swap, b = count;
    		for(int a = 0; a < --b; a++) {
    			swap = result[a];  result[a] = result[b]; result[b] = swap; 
    		}
    	}
    	T max() const
    	{
    		if (!data) throw 1;
    		return maxv;
    	}
    	T min() const
    	{
    		if (!data) throw 1;
    		return minv;
    	}
    };
    int main()
    {
    	myVector<int> v;
    	for (int i = 0; i < 10; i++)
    		v << rand() % 100; // Заполняем рандомными элементами
    	for (int i = 0; i < 10; i++)
    		printf("%d ", v[i]); // Выводим их
    	printf("\n");
    	int *arr = new int[10];
    	v.orderAsc(arr); //Сортируем по возрастанию
    	for (int i = 0; i < 10; i++)
    		printf("%d ", *(arr + i)); //Выводим результат
    	printf("\n");
    	v.orderDesc(arr); //Сортируем по убыванию
    	for (int i = 0; i < 10; i++)
    		printf("%d ", *(arr + i));//Выводим результат
    	printf("\n%d\n%d", v.max(), v.min()); //Выводим максимальный и минимальный элементы
    	delete [] arr;
    }

    Типа вот внезапно так захотелось создать простейший класс вектора. До STL-ного далеко

    JC_NVKZ, 20 Июля 2010

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

    +153

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    #define DOISA(x,p,y)              \
    ClassID x::isA() const{return y;} \
    MYBoolean x::isA(ClassID i) const \
    {                                 \
    	return (i == x::isA() ? TRUE : p::isA(i)); \
    }

    Ядро большого проекта. Имеется довольно большая иерархия наследуемых классов с виртуальными методами isA(). Все эти методы зачем-то сворачиваются в этот макрос.

    DarthBobr, 16 Июля 2010

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

    +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
    //IF THE IMAGE TYPE IS MEMBER PUBLIC THEN SHOW IT!
    if ($type == "member-public") {
      show();
    }
    
    
    //IF THE IMAGE TYPE IS ANONYMOUS PUBLIC THEN SHOW IT!
    if ($type == "public") {
      show();
    }
    
    
    //IF THE IMAGE IS OF A GALLERY THEN:
    if ($type == "gallery") {

    Из имиджхостинг-движка Wussa. Не то чтобы очень яркий ГК, но сколько пафоса, сколько энергии!

    telnet, 03 Июля 2010

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

    +166

    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 gp($points){
      	if ($points > 10){
      	  $points = $points % 10;	
      	}
      	switch ($points) {
      		case 1: return "балл";
      		case 2: return "балла";
      		case 3: return "балла";
      		case 4: return "балла";
      		default: return "баллов";
      	}
      }

    жесть :)

    antigovnokoder, 22 Июня 2010

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

    +157

    1. 1
    2. 2
    3. 3
    4. 4
    //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    #               define False (0)//!!!!!!!!!!!!!!
    #               define True (!(False))//!!!!!!!!
    #               define Default (~(False))//!!!!

    printf("%s\n", typeid(False).name());
    printf("%s\n", typeid(True).name());
    True и False имеют разные типы.

    Говногость, 21 Июня 2010

    Комментарии (11)
  8. Java / Говнокод #3438

    +72

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if (doSomething() == true) {
        if (doSomething2()) {
            //...
        }
    }

    lotik, 10 Июня 2010

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

    +144

    1. 1
    2. 2
    3. 3
    bool somevar;
    //... ... ...
    if(somevar==true)doSomething();

    И это в книге, по которой учат детей.

    frp, 01 Июня 2010

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

    +157

    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
    if ($var == e_UC_MAINADMIN && getperms('0'))
    		{
            	return TRUE;
    		}
    
    		if ($var == e_UC_MEMBER && USER == TRUE)
    		{
    			return TRUE;
    		}
    
    		if ($var == e_UC_GUEST && USER == FALSE) {
    			return TRUE;
    		}
    
    		if ($var == e_UC_PUBLIC) {
    			return TRUE;
    		}
    
    		if ($var == e_UC_NOBODY) {
    			return FALSE;
    		}
    
    		if ($var == e_UC_ADMIN && ADMIN) {
    			return TRUE;
    		}
    		if ($var == e_UC_READONLY) {
    			return TRUE;
    		}

    По ходу, стек мозга автора не вмещает более одного оператора && подряд.
    CMS e107, /class2.php

    telnet, 31 Мая 2010

    Комментарии (11)
  11. Java / Говнокод #3332

    +75

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    public void logoutSession(String sessionId)
    throws SerializableException
    {
            if (sessionId==null) {
                    throw new SerializableException("Invalid RPC arguments: sessionId is missing");
            }
            SessionInfo session = (SessionInfo)sessions.get(sessionId);
            if (session!=null) {
                    sessions.remove(sessionId);
                    SessionInfo old = (SessionInfo)sessions.get(sessionId);
            }
    }

    raorn, 27 Мая 2010

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