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

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

    +147

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    Thread thread1 = new Thread();
    Thread thread1 = new Thread();
    thread1.start();
    thread2.start();
    while(thread1.isAlive() || thread2.isAlive()){}

    askell, 23 Ноября 2011

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

    +163

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if (isset($_GET['last_user']) && (int)$_GET['last_user']){
        $last_user = 0;
    }else{
        $last_user = (int)$_GET['last_user'];
    }

    no comments.. )

    Igogo, 17 Ноября 2011

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

    +161

    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
    // CFileFind ff;
    // ...
    bool IsNext = ff.FindNextFile();
    bool IsCurr = true;
    while (IsCurr)
    {
        if(!ff.IsDirectory() && !ff.IsDots()) 
        {	
    	pTplList->InsertString(-1, ff.GetFileName());
        }
        if(IsNext)
            IsNext = ff.FindNextFile();
        else
            IsCurr = false;
    };

    IsNext и IsCurr - лишние переменные, которые запутывают код

    hayhay, 16 Ноября 2011

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

    +151

    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
    (1)Сначала:
    <!DOCTYPE html>
    <html>
    <head>
    <script type='text/javascript' src='./Plugins/jQuery/jquery.min.js'></script>
    
        <script>
    	function rezlt(a,b,c) {
                $.ajax({  
                    url: "test.php",
    				type:	'POST',
    				data: 'a='+a+'&b='+b+'&c='+c+'',				
                    cache: false,				
                    success: function(html){  
                        $(".content").html(html)  ;
                    }  
                });
         }
    
        </script>  
    </head>
    <body>
    //тут уже результат работы, строк свыше 1000
    <span class="content" onclick="rezlt(1,2,3)" >answer1</span><br/>
    <span class="content" onclick="rezlt(4,5,6)" >answer2</span><br/>
    <span class="content" onclick="rezlt(7,8,9)" >answer3</span><br/>
    </body>  
    </html>
    
    
    (2)Решение:
    <!DOCTYPE html>
    <html>
    <head>
    <script type='text/javascript' src='./Plugins/jQuery/jquery.min.js'></script>
    
        <script>
    	function rezlt(a,b,c,nid) {
                $.ajax({  
                    url: "test.php",
    				type:	'POST',
    				data: 'a='+a+'&b='+b+'&c='+c+'',				
                    cache: false,				
                    success: function(html){  
                        $(nid).html(html)  ;
                    }  
                });
         }
    
        </script>  
    </head>
    <body>
    //тут уже результат работы, строк свыше 1000
    <span id="content" onclick="rezlt(1,2,3,seq1)" ><div id="seq1">answer1</div></span><br/>
    <span id="content" onclick="rezlt(4,5,6,seq2)" ><div id="seq2">answer2</div></span><br/>
    <span id="content" onclick="rezlt(7,8,9,seq3)" ><div id="seq3">answer3</div></span><br/>
    </body>  
    </html>

    Уже второй день бъюсь над проблемой.
    Задача: Перегружать всю страницу не надо. По клику по объекту content отправляются данные на test.php
    и некий результат присваивается объекту content, на который был совершен клик. Сначала было вот так - (1) но тут, присвоение производится сразу всем объектам content

    Чую, что решение(2) говно, учитывая что объектов content будет свыше 1000.

    truedizzy, 16 Ноября 2011

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

    +156

    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
    f (isset(self::$_namespaceLocks[$this->_namespace])) {
                /*
                  @see Zend_Session_Exception
                 /
                require_once 'Zend/Session/Exception.php';
                throw new Zend_Session_Exception('This session/namespace has been marked as read-only.');
            }
    
            if ($name === '') {
                /*
                 * @see Zend_Session_Exception
                 /
                require_once 'Zend/Session/Exception.php';
                throw new Zend_Session_Exception("The '$name' key must be a non-empty string");
            }
    
            if (parent::$_writable === false) {
                /*
                 * @see Zend_Session_Exception
                 */
                require_once 'Zend/Session/Exception.php';
                throw new Zend_Session_Exception(parent::_THROW_NOT_WRITABLE_MSG);
            }

    asfalanaft, 15 Ноября 2011

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

    +153

    1. 1
    2. 2
    3. 3
    w = 640;
    h = 480;
    w+=2; h+=2;

    Tairesh, 09 Ноября 2011

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

    +167

    1. 1
    2. 2
    3. 3
    $query1234 = "select ....";
    $result1234 = mysql_query($query1234);
    $rs1234 = mysql_fetch_assoc($result1234);

    Это до такой степени не было фантазии придумать осмысленное название переменным. И бедные боялись, что перепишет где-то другие $query, $result, $rs. Не говоря уже о том, что никакой модели, сплошные фетчи, вместо того, чтобы вытянуть всё сразу

    Sash, 03 Ноября 2011

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

    +167

    1. 1
    2. 2
    3. 3
    >govnokod.ru - По колено в говнокоде
    Предлагаю переименовать в
    >govnokod.ru - Поколение говнокодеров

    alexoy, 30 Октября 2011

    Комментарии (11)
  10. 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)
  11. Си / Говнокод #8272

    +141

    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
    char *zamena(int m)
     {
       char *s;
       int a,b,c;
       a = m / 100;
       b=(m / 10)% 10;
       c=m % 10;
       if (a>0)
       switch (a)   
       {
        case 1: s=s+"сто ";
        case 2: s=s+"двести ";
        case 3: s=s+"триста ";
        case 4: s=s+"четыреста ";
        case 5: s=s+"пятьсот ";
        case 6: s=s+"шестьсот ";
        case 7: s=s+"семьсот ";
        case 8: s=s+"восемьсот ";
        case 9: s=s+"девятьсот ";
       }
       if (b==1) 
        switch (c)
       {
        case 1: s=s+"одиннадцать ";
        case 2: s=s+"двенадцать ";
        case 3: s=s+"тринадцать ";
        case 4: s=s+"четырнадцать ";
        case 5: s=s+"пятнадцать ";
        case 6: s=s+"шестнадцать ";
        case 7: s=s+"семнадцать ";
        case 8: s=s+"восемнадцать ";
        case 9: s=s+"девятнадцать ";
       }
       else
        switch (b)
       {
        case 2: s=s+"двадцать ";
        case 3: s=s+"тридцать ";
        case 4: s=s+"сорок ";
        case 5: s=s+"пятьдесят ";
        case 6: s=s+"шестьдесят ";
        case 7: s=s+"семьдесят ";
        case 8: s=s+"восемьдесят ";
        case 9: s=s+"девяносто ";
       }
       if (b!=1 && c>0) 
        switch (c)
       {
        case 1: s=s+"один ";
        case 2: s=s+"два ";
        case 3: s=s+"три ";
        case 4: s=s+"четыре ";
        case 5: s=s+"пять ";
        case 6: s=s+"шесть ";
        case 7: s=s+"семь ";
        case 8: s=s+"восемь ";
        case 9: s=s+"девять ";
       }
       return s;
     }

    Перевод целого числа в строку.

    Proger, 22 Октября 2011

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