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

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

    +1014

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    #ifndef _WIN32
        std::ostream  * dpOutputStream;
    #else
            ostream  * dpOutputStream;
    #endif

    делаем код портабельным.

    Dummy00001, 08 Февраля 2012

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

    +1014

    1. 1
    2. 2
    3. 3
    4. 4
    if (strlen(Uid.c_str()) > 0)
    {
      // ...
    }

    собственно, std::string Uid;

    JeremyW, 27 Октября 2011

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

    +1013

    1. 1
    if (!done && (done = true)) setlocale(LC_CTYPE, "");

    из свежих ворнингов компилера.

    Dummy00001, 14 Февраля 2012

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

    +1012

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    void Transponse()                                       // Транспонировать матрицу
       {
          m12 = m21; m13 = m31; m14 = m41;
          m21 = m12; m23 = m32; m24 = m42;
          m31 = m13; m32 = m23; m34 = m43;
          m41 = m14; m42 = m24; m43 = m34;
       }

    Artur, 31 Января 2012

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

    +1011

    1. 1
    #define RETURN_OR_THROW_EXCEPTION_IF_ERROR(Expression, Exception) if(!Expression) throw Exception; return Expression

    AnimeGovno-_-, 03 Ноября 2011

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

    +1010

    1. 1
    $obj = new Task(null,null,null,null,null,null,null,null,null,null,null,null,null,null,null);

    Когда аргументов не осталось :(

    P.S: Когда конструктор хочет слишком многого (нужно установить всего одно свойство - извещение об ошибке).

    CMTV, 05 Августа 2015

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

    +1009

    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
    #define STRING_REF char*
    #define STRING_ARRAY_REF char**
    #define STRING_ARRAY_ARRAY_REF char***
    
    #define INT_ARRAY_REF int*
    #define INT_ARRAY_ARRAY_REF int**
    #define INT_ARRAY_3D_REF int***
    #define INT_ARRAY_4D_REF int****
    
    #define BYTE_ARRAY_REF signed char*
    #define BYTE_ARRAY_ARRAY_REF signed char**
    #define BYTE_ARRAY_3D_REF signed char***
    
    #define UNSIGNED_BYTE_ARRAY_REF unsigned char*
    #define UNSIGNED_BYTE_ARRAY_ARRAY_REF unsigned char**
    #define UNSIGNED_BYTE_ARRAY_3D_REF unsigned char***
    
    #define SHORT_ARRAY_REF short*
    #define SHORT_ARRAY_ARRAY_REF short**
    #define SHORT_ARRAY_3D_REF short***
    #define SHORT_ARRAY_4D_REF short****
    #define SHORT_ARRAY_5D_REF short*****

    Без комментариев

    BlaZe, 29 Февраля 2012

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

    +1009

    1. 1
    mExpanded = onExpandClick ? !mExpanded : mExpanded;

    lifemaker, 22 Февраля 2012

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

    +1009

    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
    void SendIntMessages(int* array, int len, bool sendFromstart)
    {
    	int i = sendFromstart ? 0 : (len - 1);
    
    	for (;;)
    	{
    		if ((sendFromstart) && (i >= len)) break;
    		else if ((!sendFromstart) && (i < 0)) break;
    
    		SentIntMessage(array[i]);
    
    		if (sendFromstart) i++;
    		else i--;	
    	}
    }

    Гибкий цикл.

    southerton, 18 Ноября 2011

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

    +1009

    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
    #pragma once
    
    #include <vector>
    #include <algorithm>
    #include <exception>
    
    using namespace std;
    
    template<typename nodeT>
    class Tree
    {
    	Tree* root;
    	Tree(Tree* _root, nodeT value)
    		: root(_root)
    		, Node(value)
    	{
    	}
    	vector<Tree> children;
    public:
    	nodeT Node;
    	Tree(void) : root(nullptr) { }
    	Tree(const Tree& value)
    		: children(value.children)
    		, Node(value.Node)
    		, root(value.root)
    	{
    	}
    	virtual ~Tree(void) { }
    	const Tree& operator=(const Tree& value)
    	{
    		if(&value != this)
    		{
    			children = value.children;
    			for_each(children.begin(), children.end(), [this](Tree& tree)
    			{
    				tree.root = this;
    			});
    			Node = value.Node;
    			root = value.root;
    		}
    		return *this;
    	}
    	Tree& Root()
    	{
    		if(root == nullptr)
    		{
    			throw exception("already root");
    		}
    		return *root;
    	}
    	bool IsRoot() const
    	{
    		return root == nullptr;
    	}
    	Tree* Push(nodeT node)
    	{
    		children.push_back(Tree(this, node));
    		return &children.back();
    	}
    	Tree& operator[](typename vector<Tree>::size_type index)
    	{
    		return children[index];
    	}
    	vector<Tree*> Children()
    	{
    		vector<Tree*> result;
    		for(vector<Tree>::iterator i = children.begin(); i!=children.end(); i++)
    		{
    			result.push_back(&(*i));
    		}
    		return result;
    	}
    	typename vector<Tree>::iterator begin()
    	{
    		return children.begin();
    	}
    	typename vector<Tree>::iterator end()
    	{
    		return children.end();
    	}
    };

    Шаблон из http://govnokod.ru/6415.

    Xom94ok, 29 Октября 2011

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