1. Список говнокодов пользователя FadeToBlack

    Всего: 4

  2. C++ / Говнокод #16963

    +140

    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
    virtual QModelIndex parent(const QModelIndex &child) const = 0;
    
        virtual QModelIndex sibling(int row, int column, const QModelIndex &idx) const;
        virtual int rowCount(const QModelIndex &parent = QModelIndex()) const = 0;
        virtual int columnCount(const QModelIndex &parent = QModelIndex()) const = 0;
        virtual bool hasChildren(const QModelIndex &parent = QModelIndex()) const;
    
        virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const = 0;
        virtual bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole);
    
        virtual QVariant headerData(int section, Qt::Orientation orientation,
                                    int role = Qt::DisplayRole) const;
        virtual bool setHeaderData(int section, Qt::Orientation orientation, const QVariant &value,
                                   int role = Qt::EditRole);
    
        virtual QMap<int, QVariant> itemData(const QModelIndex &index) const;
        virtual bool setItemData(const QModelIndex &index, const QMap<int, QVariant> &roles);
    
        virtual QStringList mimeTypes() const;
        virtual QMimeData *mimeData(const QModelIndexList &indexes) const;
        virtual bool canDropMimeData(const QMimeData *data, Qt::DropAction action,
                                     int row, int column, const QModelIndex &parent) const;
        virtual bool dropMimeData(const QMimeData *data, Qt::DropAction action,
                                  int row, int column, const QModelIndex &parent);

    ну, вы поняли. они написали тысячи говнокода и говорят, что это круто.
    они написали говно-пример, и говорят, что это круто.
    а вы что думаете по этому поводу?

    FadeToBlack, 29 Октября 2014

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

    +57

    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
    for (j=0;j<3;j++) {
    			tmp += member[i].V[2][j] * member[i].V[0][j];}
    		if (tmp > LENGTH_EPS) {
    			if ( node[member[i].n0].u_fix.y == 0 ) { //if node #1 is not fixed
    				if ( node[member[i].n0].teta_fix.x == 0 ) { //if node #3 is not fixed
    					k_var.AddNewElement( FreeDeg*n_number[member[i].n0]+1,	FreeDeg*n_number[member[i].n0] +3,	6*EJz/member[i].L*tmp				);} //k(1,3)
    				if ( node[member[i].n1].teta_fix.x == 0 ) {	//if node #9 is not fixed
    					k_var.AddNewElement( FreeDeg*n_number[member[i].n0]+1,	FreeDeg*n_number[member[i].n1] +3,	6*EJz/member[i].L*tmp				);} //k(1,9)
    			}
    			if ( node[member[i].n0].u_fix.z == 0 ) { //if node #2 is not fixed
    				if ( node[member[i].n0].u_fix.x == 0 ) { //if node #0 is not fixed
    					k_var.AddNewElement( FreeDeg*n_number[member[i].n0]+2,  FreeDeg*n_number[member[i].n0],		12*EJy/pow(member[i].L,2)*tmp 	);} //k(2,0)
    				if ( node[member[i].n1].u_fix.x == 0 ) { //if node #6 is not fixed
    					k_var.AddNewElement( FreeDeg*n_number[member[i].n0]+2,  FreeDeg*n_number[member[i].n1],		-12*EJy/pow(member[i].L,2)*tmp 	);} //k(2,6)
    			}
    			if ( node[member[i].n0].teta_fix.y == 0 ) { //if node #4 is not fixed
    				if ( node[member[i].n0].u_fix.x == 0 ) { //if node #0 is not fixed
    					k_var.AddNewElement( FreeDeg*n_number[member[i].n0]+4,	FreeDeg*n_number[member[i].n0],		-6*EJy/member[i].L*tmp 			);} //k(4,0)
    				if ( node[member[i].n1].u_fix.x == 0 ) { //if node #6 is not fixed
    					k_var.AddNewElement( FreeDeg*n_number[member[i].n0]+4,	FreeDeg*n_number[member[i].n1],		6*EJy/member[i].L*tmp 			);} //k(4,6)
    			}
    			if ( node[member[i].n0].teta_fix.z == 0 ) { //if node #5 is not fixed
    				if ( node[member[i].n0].teta_fix.x == 0 ) { //if node #3 is not fixed
    					k_var.AddNewElement( FreeDeg*n_number[member[i].n0]+5,  FreeDeg*n_number[member[i].n0] +3,	4*EJz*tmp				);} //k(5,3)
    				if ( node[member[i].n1].teta_fix.x == 0 ) {	//if node #9 is not fixed
    					k_var.AddNewElement( FreeDeg*n_number[member[i].n0]+5,  FreeDeg*n_number[member[i].n1] +3,  2*EJz/member[i].L*tmp 	);} //k(5,9)
    			}
    			if ( node[member[i].n1].u_fix.y == 0) { //if node #7 is not fixed
    				if ( node[member[i].n0].teta_fix.x == 0 ) { //if node #3 is not fixed
    					k_var.AddNewElement( FreeDeg*n_number[member[i].n1]+1,	FreeDeg*n_number[member[i].n0] +3,	-6*EJz/member[i].L*tmp 			);} //k(7,3)
    				if ( node[member[i].n1].teta_fix.x == 0 ) {	//if node #9 is not fixed
    					k_var.AddNewElement( FreeDeg*n_number[member[i].n1]+1,	FreeDeg*n_number[member[i].n1] +3,	-6*EJz/member[i].L*tmp 			);} //k(7,9)
    			}
    			if ( node[member[i].n1].u_fix.z == 0 ) { //if node #8 is not fixed
    				if ( node[member[i].n0].u_fix.x == 0 ) { //if node #0 is not fixed
    					k_var.AddNewElement( FreeDeg*n_number[member[i].n1]+2,  FreeDeg*n_number[member[i].n0],		-12*EJy/pow(member[i].L,2)*tmp 	);} //k(8,0)
    				if ( node[member[i].n1].u_fix.x == 0 ) { //if node #6 is not fixed
    					k_var.AddNewElement( FreeDeg*n_number[member[i].n1]+2,  FreeDeg*n_number[member[i].n1],		12*EJy/pow(member[i].L,2)*tmp 	);} //k(8,6)
    			}
    			if ( node[member[i].n1].teta_fix.y == 0 ) { //if node #10 is not fixed
    				if ( node[member[i].n0].u_fix.x == 0 ) { //if node #0 is not fixed
    					k_var.AddNewElement( FreeDeg*n_number[member[i].n1]+4,	FreeDeg*n_number[member[i].n0],		-6*EJy/member[i].L*tmp			);} //k(10,0)
    				if ( node[member[i].n1].u_fix.x == 0 ) { //if node #6 is not fixed
    					k_var.AddNewElement( FreeDeg*n_number[member[i].n1]+4,	FreeDeg*n_number[member[i].n1],		6*EJy/member[i].L*tmp 			);} //k(10,6)
    			}
    			if ( node[member[i].n1].teta_fix.z == 0 ) {	//if node #11 is not fixed
    				if ( node[member[i].n0].teta_fix.x == 0 ) { //if node #3 is not fixed
    					k_var.AddNewElement( FreeDeg*n_number[member[i].n1]+5,  FreeDeg*n_number[member[i].n0] +3,	2*EJz*tmp 				);} //k(11,3)
    				if ( node[member[i].n1].teta_fix.x == 0 ) {	//if node #9 is not fixed
    					k_var.AddNewElement( FreeDeg*n_number[member[i].n1]+5,  FreeDeg*n_number[member[i].n1] +3,	4*EJz*tmp 				);} //k(11,9)
    			}
    		}		
    		
    		//SUM(Lzi * Lyi),   i=x0,y0,z0
    		tmp = 0;
    		for (j=0;j<3;j++) {
    			tmp += member[i].V[2][j] * member[i].V[1][j];}
    		if (tmp > LENGTH_EPS) {
    			if ( node[member[i].n0].u_fix.y == 0 ) { //if node #1 is not fixed
    				if ( node[member[i].n0].teta_fix.y == 0 ) { //if node #4 is not fixed
    					k_var.AddNewElement( FreeDeg*n_number[member[i].n0]+1,	FreeDeg*n_number[member[i].n0] +4,	6*EJz/member[i].L*tmp			); //k(1,4)
    					k_var.AddNewElement( FreeDeg*n_number[member[i].n0]+4,	FreeDeg*n_number[member[i].n0] +1,	-6*EJy/member[i].L*tmp 			); //k(4,1)
    				}
    				if ( node[member[i].n1].teta_fix.y == 0 ) { //if node #10 is not fixed
    					k_var.AddNewElement( FreeDeg*n_number[member[i].n0]+1,	FreeDeg*n_number[member[i].n1] +4,	6*EJz/member[i].L*tmp			); //k(1,10)
    					k_var.AddNewElement( FreeDeg*n_number[member[i].n1]+4,	FreeDeg*n_number[member[i].n0] +1,	-6*EJy/member[i].L*tmp			); //k(10,1)
    				}
    			}
    			if ( node[member[i].n1].u_fix.y == 0) { //if node #7 is not fixed
    				if ( node[member[i].n0].teta_fix.y == 0 ) { //if node #4 is not fixed
    					k_var.AddNewElement( FreeDeg*n_number[member[i].n0]+4,	FreeDeg*n_number[member[i].n1] +1,	6*EJy/member[i].L*tmp 			); //k(4,7)
    					k_var.AddNewElement( FreeDeg*n_number[member[i].n1]+1,	FreeDeg*n_number[member[i].n0] +4,	-6*EJz/member[i].L*tmp 			); //k(7,4)
    				}
    				if ( node[member[i].n1].teta_fix.y == 0 ) { //if node #10 is not fixed
    					k_var.AddNewElement( FreeDeg*n_number[member[i].n1]+1,	FreeDeg*n_number[member[i].n1] +4,	-6*EJz/member[i].L*tmp 			); //k(7,10)
    					k_var.AddNewElement( FreeDeg*n_number[member[i].n1]+4,	FreeDeg*n_number[member[i].n1] +1,	6*EJy/member[i].L*tmp 			); //k(10,7)
    				}
    			}
    
    ..............................еще 10 страниц

    математики... бессмысленные и беспощадные.

    FadeToBlack, 04 Октября 2014

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

    +55

    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
    //--------------------------------------------------------------------------
    
    	#define DEF_P(X, Y, N) X##N
    	#define DEF_D(X, Y, N) X##N Y##N
    	#define DP1(DT, X, Y) DT(X, Y, 0)
    
    	//--------------------------------------------------------------------------
    
    	#define DP2(DT, X, Y) DP1(DT, X, Y), DT(X, Y, 1)
    	#define DP3(DT, X, Y) DP2(DT, X, Y), DT(X, Y, 2)
    	#define DP4(DT, X, Y) DP3(DT, X, Y), DT(X, Y, 3)
    	#define DP5(DT, X, Y) DP4(DT, X, Y), DT(X, Y, 4)
    	#define DP6(DT, X, Y) DP5(DT, X, Y), DT(X, Y, 5)
    	#define DP7(DT, X, Y) DP6(DT, X, Y), DT(X, Y, 6)
    	#define DP8(DT, X, Y) DP7(DT, X, Y), DT(X, Y, 7)
    	#define DP9(DT, X, Y) DP8(DT, X, Y), DT(X, Y, 8)
    	#define DP10(DT, X, Y) DP9(DT, X, Y), DT(X, Y, 9)
    	#define DP11(DT, X, Y) DP10(DT, X, Y), DT(X, Y, 10)
    	#define DP12(DT, X, Y) DP11(DT, X, Y), DT(X, Y, 11)
    	#define DP13(DT, X, Y) DP12(DT, X, Y), DT(X, Y, 12)
    	#define DP14(DT, X, Y) DP13(DT, X, Y), DT(X, Y, 13)
    	#define DP15(DT, X, Y) DP14(DT, X, Y), DT(X, Y, 14)
    
    	//--------------------------------------------------------------------------
    	// define functor for params count 0
    	//--------------------------------------------------------------------------
    
    	#define TEMP_DEF_PARAM(N)
    	#define TEMP_SPC_PARAM(N)
    	#define FUNC_PTR_PARAM(N)
    	#define FUNC_INV_PARAM(N)
    	#define FUNC_DEF_PARAM(N)
    	DEFINE_FUNCTOR(0);
    
    	#undef TEMP_DEF_PARAM
    	#undef TEMP_SPC_PARAM
    	#undef FUNC_PTR_PARAM
    	#undef FUNC_INV_PARAM
    	#undef FUNC_DEF_PARAM
    
    	//--------------------------------------------------------------------------
    	// define functor for other params counts
    	//--------------------------------------------------------------------------
    
    	#define TEMP_DEF_PARAM(N) 	,DP##N(DEF_P, typename T,)
    	#define TEMP_SPC_PARAM(N)	,DP##N(DEF_P, T,)
    	#define FUNC_PTR_PARAM(N)	DP##N(DEF_P, T,)
    	#define FUNC_INV_PARAM(N)	DP##N(DEF_P, p,)
    	#define FUNC_DEF_PARAM(N)	DP##N(DEF_D, T, p)
    
    	DEFINE_FUNCTOR(1);
    	DEFINE_FUNCTOR(2);
    	DEFINE_FUNCTOR(3);
    	DEFINE_FUNCTOR(4);
    	DEFINE_FUNCTOR(5);
    	DEFINE_FUNCTOR(6);
    	DEFINE_FUNCTOR(7);
    	DEFINE_FUNCTOR(8);
    	DEFINE_FUNCTOR(9);
    	DEFINE_FUNCTOR(10);
    	DEFINE_FUNCTOR(11);
    	DEFINE_FUNCTOR(12);
    	DEFINE_FUNCTOR(13);
    	DEFINE_FUNCTOR(14);
    	DEFINE_FUNCTOR(15);

    Весь пиздец https://github.com/Evil-Spirit/Nutmeg/blob/master/CoreSrc/Common/Functor.h
    Дети, не программируйте на C++

    FadeToBlack, 15 Августа 2014

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

    +159

    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
    недавно на хабре была статья "Платформер на Three.js"
    
    так вот автор уверяет, что
    "Читателям с нешкольным образованием или ветеранам игростроя этот псевдокод известен под названием «метод Эйлера», а также известно что этот метод — просто отстой."
    и приводит картинки из википедии, где им решают достаточно сложный дифур
    а вот свой "школьный" дифур он решил вот так
    
    if( в воздухе ) playerVelocity.y -= gravity * time;
    playerPosition += playerVelocity * time;
    
    "Как видим, запустив игру в firefox, мы получим одну динамику, а запустив её в chrome — совершенно иную. Поведение персонажа будет «плавать» в зависимости от интенсивности фоновых задач и расположения звёзд. Что же делать?"
    ответ-учиться программировать
    
    void update(float dt) {
    	pos += (velocity + force * dt * 0.5f) * dt;
    	velocity += force * dt;
    }
    
    оп-ля! все встало на свои места. теперь эйлер с  не фиксированным шагом НЕ ПЛАВАЕТ!

    FadeToBlack, 15 Августа 2014

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