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

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

    +146

    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
    <?php
    function check($s)
    {
        $brackets = array(')' => '(', ']' => '[', '}' => '{');
        $stack = array();
        $stack_size = 0;
        for($i = 0; $i < strlen($s); $i++)
        {
    	if (in_array($s[$i], array_values($brackets)))
            {
        	    $stack[$stack_size++] = $s[$i];
            }
            else if (in_array($s[$i], array_keys($brackets)))
            {
        	    $last = $stack_size ? $stack[$stack_size-1] : '';
                if ($last != $brackets[$s[$i]])
                {
            	return false;
        	    }
                else
                {
        		unset($stack[--$stack_size]);
        	    }
        	}
        }
        return count($stack) == 0;
    }
    
    function check_brackets($s)
    {
        if(check($s))
        {
            return true;
        }
        else return false;
    }
    
    if($_POST["bracket_string"])
    {
        if(check_brackets($_POST["bracket_string"]))
        {
            $message = "Check passed";
        }
        else $message = "Check failed";
    }
    
    ?>

    Пацаны, есть задание. Срочно заговнокодить код, но чтобы точно работало.

    varg242, 16 Января 2012

    Комментарии (14)
  3. SQL / Говнокод #9088

    −113

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    select o.*
    from (select rownum rw
               , o.*
          from (select o.* from all_tables o order by table_name) o
          where rownum < 20
         ) o
    where o.rw >= 10;

    Стандартный аналог "LIMIT 9,10" в Oracle.
    http://www.sql.ru/faq/faq_topic.aspx?fid=171

    huitka, 12 Января 2012

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

    +119

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    static int getCheckNumber(int n)
    {
    return Average(n, 0);                //Сабж
    }
    
    static int Average(int x, int y)   //Функция вычисления среднего арифметического
    {
    return ((x + y) / 2);
    }

    Среднее арифметическое от произвольной переменной и нуля - эквивалентно делению на 2 :)

    vistefan, 09 Января 2012

    Комментарии (14)
  5. Java / Говнокод #8912

    +76

    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
    public class FormForThemeView extends LayoutContainer {
    
        private double innerRightPanelHeight = 0.7;
        private LayoutContainer leftContentPanel;
        private LayoutContainer rightContentPanel;
    
        private ContentPanel innerLeftDataPanel;
        private ContentPanel innerRightDataPanel;
        private ContentPanel upperRightDataPanel;
        private ContentPanel bottomRightDataPanel;
        private ContentPanel bottomMiddleDataPanel;
    
        public FormForThemeView() {
            leftContentPanel = new LayoutContainer(new RowLayout(Style.Orientation.HORIZONTAL));
            rightContentPanel = new LayoutContainer(new RowLayout(Style.Orientation.VERTICAL));
    
            innerLeftDataPanel = new ContentPanel(new RowLayout(Style.Orientation.VERTICAL));
            innerRightDataPanel = new ContentPanel(new RowLayout(Style.Orientation.VERTICAL));
            bottomMiddleDataPanel = new ContentPanel(new RowLayout(Style.Orientation.VERTICAL));
    
            upperRightDataPanel = new ContentPanel(new RowLayout(Style.Orientation.VERTICAL));
            bottomRightDataPanel = new ContentPanel(new RowLayout(Style.Orientation.VERTICAL));
        }
    
        public void render() {
            innerLeftDataPanel.setBorders(false);
            innerLeftDataPanel.setBodyBorder(false);
            innerLeftDataPanel.setHeaderVisible(false);
            innerLeftDataPanel.setBodyStyle("backgroundColor: transparent");
            innerLeftDataPanel.add(bottomMiddleDataPanel, new RowData(-1, -1));
    
            innerRightDataPanel.setBorders(false);
            innerRightDataPanel.setBodyBorder(false);
            innerRightDataPanel.setHeaderVisible(false);
            innerRightDataPanel.setBodyStyle("backgroundColor: transparent");
    
            bottomMiddleDataPanel.setBorders(false);
            bottomMiddleDataPanel.setBodyBorder(false);
            bottomMiddleDataPanel.setHeaderVisible(false);
            bottomMiddleDataPanel.setBodyStyle("backgroundColor: transparent");
    
            leftContentPanel.setBorders(false);
            leftContentPanel.add(innerRightDataPanel, new RowData(156, 1));
            leftContentPanel.add(innerLeftDataPanel, new RowData(1, 1));
    
    
            rightContentPanel.setStyleAttribute("borderLeft", "2px dotted #99BBE8");
            rightContentPanel.add(upperRightDataPanel, new RowData(1, innerRightPanelHeight));
            rightContentPanel.add(bottomRightDataPanel, new RowData(1, 1 - innerRightPanelHeight));
    
            setLayout(new RowLayout(Style.Orientation.HORIZONTAL));
            add(leftContentPanel, new RowData(1, 1));
            add(rightContentPanel, new RowData(156, 1));
        }
    }

    Попытка сделать панель на GXT. Попутаны стороны right находится слева, тк смотрим с другой стороны. По названиям переменных ничего не понятно. inner, bottom, left, rigth - найдите лишнее.

    johnny1987, 06 Января 2012

    Комментарии (14)
  6. JavaScript / Говнокод #8910

    +163

    1. 1
    CsaTracker_Init('01/01/2011", "12/31/2011');

    Получил в наследство. Потратил на поиск больше 2 часов

    Mr_GOD, 06 Января 2012

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

    +155

    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
    <?
    if ($id != "") {
    	$id--;
    	$file=file("file.txt"); 
    
    	for($i=0;$i<sizeof($file);$i++)
    		if($i==$id) unset($file[$i]); 
    
    	$fp=fopen("file.txt","w"); 
    	fputs($fp,implode("",$file)); 
    	fclose($fp);
    	}
    ?>

    http://www.codenet.ru/webmast/php/delstr.php вот нарыл говнокод.
    OMG!WTF?!
    Неужели,люди забыли про file_put_contents ?

    An0nimous, 05 Января 2012

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

    +1020

    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
    #include <stdio.h>
    #define _0000 0
    #define _0001 int
    #define _0010 a
    #define _0011 16
    #define _0100 b
    #define _0101 c
    #define _0110 printf
    #define _0111 "%d"
    #define _1000 d
    #define _1001 (
    #define _1010 )
    #define _1011 =
    
    int main()
    {
    	_0001 _1000 _1011 _0011;
    	_0001 _0010 _1011 _1000;
    	_0001 _0100 _1011 _1001--_1000 _1010+++_1001++_1000 _1010;
    	_0001 _0101 _1011 _0010>_0100?_0010:_0100>_0010?_0100:_0000;
    	_0110 _1001 _0111, _0101 _1010;
    	getchar();
    }

    Показал первому курсу define, на дом задал простейшую задачу. На следующий день увидел это.

    A1mighty, 01 Декабря 2011

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

    +993

    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
    class A
    {
    public:
     int a;
     int getA(){return a;}
    };
    
    class B: public A
    {
    public:
     int b;
     int getB(){return b;}
    };
    
    class C: public A
    {
    public:
     int c;
     int getC(){return c;}
    };
    
    class D: public C, public B
    {
    public:
     D(): d(0) {}
     int d;
     int getD(){return d;}
    };
    
    int main()
    {
     D d;
     std::cout << d.getD();
    }

    Знакомый программист утверждает, что этот пример является примером "возможности ромбовидного наследования" в С++, совсем забывая, что этот замечательный язык генерирует ромбовидное наследование только при наследовании виртуальном, а пример не раскрывает проблему и наполовину.

    ololo_trololo, 01 Декабря 2011

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

    +174

    1. 1
    $this->Query("delete from emaillink where email_src_id='$email_id' and ((email_dst_id='".implode("')or(email_dst_id='",$conemail_ids)."'))", __FILE__, __LINE__);

    Все глаза сломали, пока поняли, что автор не умеет пользоваться WHERE IN (...)

    Sc0rp10, 25 Ноября 2011

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

    +88

    1. 1
    2. 2
    3. 3
    StringBuffer sb = new StringBuffer();
    sb.append(xxxxxxxx+","+CLLI+","+fmsRegion+","+fmsAddress);
    sb.append("\r\n");

    Классическое использование стрингбуффера

    dms_, 25 Ноября 2011

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