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

    В номинации:
    За время:
  2. Куча / Говнокод #15433

    +124

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    @set /p d=<%0
    %d:~0,5%a=%d:~0,5%
    %a%c=%d:~9,1%
    %a%b%c%%d:~4,1%&%a%i%c%%d:~0,1%&%a%k%c%&%a%l%c%&%a%m%c%&%a%n%c%&%a%o%c%&%a%p%c%&%a%q%c%&%a%r%c%&%a%s%c%&%a%t%c%&%a%u%c%&%a%v%c%&%a%w%c%&%a%x%c%&%a%y%c%&%a%z%c%
    %k%c%l%o%m%l%n%o%o%r%b%1%p%a%q%&%i%m%r%o%s%d%t%e%b%c%u%o%v%n%b%c%w%o%x%l%y%s%c%1%z%4%b%l%k%i%l%n%m%e%n%s%c%4%o%&%a%f%c%п%p%&%a%g%c%«%q%&%a%h%c%Ѓ%r%&%a%j%c%Д%s%&%a%e%c%!%t%&%u%t%v%i%w%t%x%l%y%e%b%.
    %i%e%k%c%t%h%s%o%b%%b%Ъ%j%%j%%j%%j%%j%%j%%j%%j%%j%ї%r%&%i%e%q%c%p%h%o%o%b%%b%і%b%%b%%h%%g%%f%%b%%e%%b%%b%і%n%&%i%e%m%c%l%h%k%o%b%%b%А%j%%j%%j%%j%%j%%j%%j%%j%%j%Щ%b%&%v%p%o%a%y%u%x%s%p%e%u%>%q%n%k%u%m%l%o%

    Должно быть запущено на русскоязычной Windows, сохраните в .bat файл, а на концах строчек (6 строк) не должно быть лишних пробелов!

    Ссылка на зипованную версию:
    http://klimaleksus.narod.ru/Files/C/fuck.zip

    aleksusklim, 11 Марта 2014

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

    +37

    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
    int hamming(int i, int j, vector<state>& net) //returns Hamming distance between i and j nodes
    {
    	int res = 0;
    	if (net[i].nodes[0] != net[j].nodes[0])
    	{
    		res++;
    	}
    	if (net[i].nodes[1] != net[j].nodes[1])
    	{
    		res++;
    	}
    	if (net[i].nodes[2] != net[j].nodes[2])
    	{
    		res++;
    	}
    	if (net[i].nodes[3] != net[j].nodes[3])
    	{
    		res++;
    	}
    	if (net[i].nodes[4] != net[j].nodes[4])
    	{
    		res++;
    	}
    	if (net[i].nodes[5] != net[j].nodes[5])
    	{
    		res++;
    	}
    	if (net[i].nodes[6] != net[j].nodes[6])
    	{
    		res++;
    	}
    	if (net[i].nodes[7] != net[j].nodes[7])
    	{
    		res++;
    	}
    	if (net[i].nodes[8] != net[j].nodes[8])
    	{
    		res++;
    	}
    	if (net[i].nodes[9] != net[j].nodes[9])
    	{
    		res++;
    	}
    	if (net[i].nodes[10] != net[j].nodes[10])
    	{
    		res++;
    	}
    	if (net[i].nodes[11] != net[j].nodes[11])
    	{
    		res++;
    	}
    	if (net[i].nodes[12] != net[j].nodes[12])
    	{
    		res++;
    	}
    	return res;
    }

    Человеку срочно нужно узнать про существование циклов.

    galarr, 08 Марта 2014

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

    +36

    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
    #include <iostream>
    
    class StaticClassData {
      int *pointer, value;
    
    public:
      StaticClassData(): pointer(&value) {}
      
      void add(int i) {
        std::cout << "Hello, this is " << this << std::endl;
        value = i;
        std::cout << "I'm fine" << std::endl;
        *pointer = i;
        std::cout << "You never read this text" << std::endl;
      }
    };
    
    class SomeClass {
      struct StaticConstructor {
        StaticConstructor(){ storage.add(1); }
      };
      
      static StaticConstructor constructor;
      static StaticClassData storage;
    };
    
    SomeClass::StaticConstructor SomeClass::constructor;
    StaticClassData SomeClass::storage;
    
    int main(){}

    Долго думал, с какого хрена программа падает на заполнении static поля в "статическом конструкторе". Поле вроде бы есть, но толку от этого мало.
    http://ideone.com/Ux14ep - из раздела ub.govnokod.ru или как выстрелить себе в ногу до выполнения main.

    1024--, 01 Марта 2014

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

    +175

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if(!$item["region"])
    	$item["region"] = "Москва";
    
    	if($item["region"])
    	$text = str_replace('<option>'.$item["region"].'</option>', '<option value="'.$item["region"].'" selected>'.$item["region"].'</option>', $text);

    Гениальнейшая простановка selected для выбранного option в форме

    kindofbear, 27 Февраля 2014

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

    +143

    1. 1
    2. 2
    if (medicalRecords == null)
        new List<MedicalRecordDispatchingInfoViewModel>();

    Просто сделай мне лист

    Vadimyan, 26 Февраля 2014

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

    +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
    ...
    ## $config['components'] - массив компонентов(>25) для Yii
    foreach ($config['components'] as $name => $component) {
        if ($name != 'db') {
            unset($config['components'][$name]);
        }
    }
    ...
    
    # потом был баг фикс 
    foreach ($config['components'] as $name => $component) {
        if ($name != 'db' && $name != 'db_stats') {
            unset($config['components'][$name]);
        }
    }

    Сделал один из наших программистов, потом другой добавил свое, и уже я , с утра, в безсознательном состоянии, хотел было добавить ещё условие " && $name != 'format'" , но увидев результат, в голове бзынкнуло - WTF I AM DOING!!!
    cделал так
    $config['components'] = array_intersect_key($config['components'], array('db'=>1, 'db_stats'=>1, 'format' => 1));

    xakki, 25 Февраля 2014

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

    +139

    1. 1
    Я анально воспитываю "kegdan`a".

    Horse3, 04 Февраля 2014

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

    +76

    1. 1
    2. 2
    3. 3
    public static boolean isNodePresent(String nodeName, String tree, boolean waitForNotNullCondition) {
        return (waitForNotNullCondition) ? getTreeItemId(tree, nodeName) != null : getTreeItemId(tree, nodeName) == null;
    }

    Actine, 30 Января 2014

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

    +11

    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
    #define EDGE_EDGE_TEST(V0,U0,U1)                      \
    	Bx=U0[i0]-U1[i0];                                   \
    	By=U0[i1]-U1[i1];                                   \
    	Cx=V0[i0]-U0[i0];                                   \
    	Cy=V0[i1]-U0[i1];                                   \
    	f=Ay*Bx-Ax*By;                                      \
    	d=By*Cx-Bx*Cy;                                      \
    	if((f>0 && d>=0 && d<=f) || (f<0 && d<=0 && d>=f))  \
    {                                                   \
    	e=Ax*Cy-Ay*Cx;                                    \
    	if(f>0)                                           \
    {                                                 \
    	if(e>=0 && e<=f) return 1;                      \
    	}                                                 \
    	else                                              \
    {                                                 \
    	if(e<=0 && e>=f) return 1;                      \
    	}                                                 \
    	}
    
    #define POINT_IN_TRI(V0,U0,U1,U2)           \
    {                                           \
    	double a,b,c,d0,d1,d2;                     \
    	/* is T1 completly inside T2? */          \
    	/* check if V0 is inside tri(U0,U1,U2) */ \
    	a=U1[i1]-U0[i1];                          \
    	b=-(U1[i0]-U0[i0]);                       \
    	c=-a*U0[i0]-b*U0[i1];                     \
    	d0=a*V0[i0]+b*V0[i1]+c;                   \
    	\
    	a=U2[i1]-U1[i1];                          \
    	b=-(U2[i0]-U1[i0]);                       \
    	c=-a*U1[i0]-b*U1[i1];                     \
    	d1=a*V0[i0]+b*V0[i1]+c;                   \
    	\
    	a=U0[i1]-U2[i1];                          \
    	b=-(U0[i0]-U2[i0]);                       \
    	c=-a*U2[i0]-b*U2[i1];                     \
    	d2=a*V0[i0]+b*V0[i1]+c;                   \
    	if(d0*d1>0.0)                             \
    {                                         \
    	if(d0*d2>0.0) return 1;                 \
    	}                                         \
    	}
    
    #define NEWCOMPUTE_INTERVALS(VV0,VV1,VV2,D0,D1,D2,D0D1,D0D2,A,B,C,X0,X1) \
    { \
    	if(D0D1>0.0f) \
    { \
    	/* here we know that D0D2<=0.0 */ \
    	/* that is D0, D1 are on the same side, D2 on the other or on the plane */ \
    	A=VV2; B=(VV0-VV2)*D2; C=(VV1-VV2)*D2; X0=D2-D0; X1=D2-D1; \
    	} \
    	else if(D0D2>0.0f)\
    { \
    	/* here we know that d0d1<=0.0 */ \
    	A=VV1; B=(VV0-VV1)*D1; C=(VV2-VV1)*D1; X0=D1-D0; X1=D1-D2; \
    	} \
    	else if(D1*D2>0.0f || D0!=0.0f) \
    { \
    	/* here we know that d0d1<=0.0 or that D0!=0.0 */ \
    	A=VV0; B=(VV1-VV0)*D0; C=(VV2-VV0)*D0; X0=D0-D1; X1=D0-D2; \
    	} \
    	else if(D1!=0.0f) \
    { \
    	A=VV1; B=(VV0-VV1)*D1; C=(VV2-VV1)*D1; X0=D1-D0; X1=D1-D2; \
    	} \
    	else if(D2!=0.0f) \
    { \
    	A=VV2; B=(VV0-VV2)*D2; C=(VV1-VV2)*D2; X0=D2-D0; X1=D2-D1; \
    	} \
    	else \
    { \
    	/* triangles are coplanar */ \
    	return coplanar_tri_tri(N1,V0,V1,V2,U0,U1,U2); \
    	} \
    	}

    Макросы макросики. Inline? Нет, не слышал.

    Abbath, 25 Января 2014

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

    −83

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    setRegState :: RegisterStates -> M_Register -> Word8 -> RegisterStates
    setRegState rs r n =
      let (a, b, c, d, e, f, h, l, pc, sp) = rs in
      case r of
        M_A -> (n, b, c, d, e, f, h, l, pc, sp)
        M_B -> (a, n, c, d, e, f, h, l, pc, sp)
        M_C -> (a, b, n, d, e, f, h, l, pc, sp)
        M_D -> (a, b, c, n, e, f, h, l, pc, sp)
        M_E -> (a, b, c, d, n, f, h, l, pc, sp)
        M_F -> (a, b, c, d, e, n.&.0xF0, h, l, pc, sp)
        M_H -> (a, b, c, d, e, f, n, l, pc, sp)
        M_L -> (a, b, c, d, e, f, h, n, pc, sp)

    Haskell has no boilerplate.
    Из исходников заброшенного эмулятора GameBoy (https://github.com/bitc/omegagb/)

    Yuuri, 10 Января 2014

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