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

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

    −92

    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
    Вот так выкидывает исключение 
    (this._sliderGraphic as flash.display.DisplayObject).addEventListener(flash.events.MouseEvent.MOUSE_DOWN, function (arg1:flash.events.MouseEvent):*
                {
                    _holdPin();
                    return;
    			})
    (this._sliderGraphic as flash.display.DisplayObject).addEventListener(flash.events.MouseEvent.MOUSE_UP, function (arg1:flash.events.MouseEvent):*
                {
                    _releasePin();
                    return;
                })
    
    А вот так нет :)
                (this._sliderGraphic as flash.display.DisplayObject).addEventListener(flash.events.MouseEvent.MOUSE_DOWN, function (arg1:flash.events.MouseEvent):*
                {
                    _holdPin();
                    return;
    			})
                o=this._sliderGraphic as flash.display.DisplayObject;//добавленно мной
                (this._sliderGraphic as flash.display.DisplayObject).addEventListener(flash.events.MouseEvent.MOUSE_UP, function (arg1:flash.events.MouseEvent):*
                {
                    _releasePin();
                    return;
                })

    вот наткнулся в исходниках что мне досталось :)

    ageron, 03 Августа 2010

    Комментарии (6)
  3. Java / Говнокод #3825

    +74

    1. 1
    for (Integer i = 0; i<_pwiList.size(); i++)

    Вот к чему приводит бездумное использование классов-обёрток "для унификации". Конечно, оптимизатор может здесь сообразить, но не факт. А если данный фрагмент трактовать буквально, то i++ приведёт к unboxing, увеличению и последующему boxing.

    konsoletyper, 30 Июля 2010

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

    +147

    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
    <?php
    
    require_once 'MDB2.php';
    
    $dsn = "mysql://user:pass@localhost/db";
    
    $mdb2 = & MDB2::singleton($dsn);
    if (PEAR::isError($mdb2)) {
        die($mdb2->getMessage());
    }
    
    class DB {
    
        static private $instance = NULL;
        static private $mdb2 = NULL;
    
        private function  __construct() {
            self::$mdb2 = & MDB2::singleton();
            self::$mdb2->exec("SET NAMES utf8");
            self::$mdb2->setFetchMode(MDB2_FETCHMODE_ASSOC);
        }
    
        static function getInstance() {
            if(self::$instance == NULL) {
                self::$instance =  & new DB();
            }
            return self::$instance;
        }
    
        public function query($sql = false) {
            $res = self::$mdb2->query($sql);
            if (PEAR::isError($res)) {
                die($res->getMessage());
            }
            if(!$res->numRows()) {
                return FALSE;
            }
            return $res;
        }
    
        private function __clone() {
    
        }
    }
    
    
    class Page{
    
        public   $limit = 10;
        private $conn = FALSE;  
    
        function  __construct() {
            $this->conn = & DB::getInstance();
        }
    
        public function getPageList() {
    
            $result = FALSE;
    
            $sql = "SELECT * FROM table LIMIT ".$this->limit;
            $res = $this->conn->query($sql);
            if($res) {
                $result = $res->fetchAll();
            }
            
            return $result;
        }
    
    }
    
    $p = & new Page();
    $nodes = $p->getPageList(25);
    print '<pre>'.print_r($nodes, 1).'</pre>';
    
    ?>

    Дайте, пожалуйста, оценку такой конструкции. Не говнокод ли?

    cartman, 29 Июля 2010

    Комментарии (6)
  5. VisualBasic / Говнокод #3812

    −94

    1. 1
    2. 2
    3. 3
    4. 4
    If (gs.OrgID=0) Or gs.OrgID = 0 Then
     gs.OrgID = 0
     Response.Redirect("<%=cb_home%>default.asp?timeout=true")
    End If

    О_о

    dimas_art, 29 Июля 2010

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

    +162

    1. 1
    2. 2
    3. 3
    4. 4
    function repeattimer(functionname, looptime){
    	eval(functionname+"();");
    	setTimeout("repeattimer(\""+functionname+"\", "+looptime+");", looptime);
    }

    Не знаю насчёт того, ГК это или нет, но я бы сделал совсем не таким способом.

    XyHb, 28 Июля 2010

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

    +130

    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
    public static string[] cInt = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9" };
    
    ...
    
    bool cont = true;
    int i=0;
    string ss = "";
    
    ...
    
    while ((cont) && (i < e_number.Text.Length))
    {
      if (Array.IndexOf(cInt, e_number.Text[i].ToString()) > -1)
      {
        ss = ss + e_number.Text[i];
        num = Convert.ToInt32(ss);
      }
      else { cont = false; }
      i = i + 1;
    }
    if (ss == "")
    { num = 0; }

    Это повергло меня в ужас. Проверка, введено ли в e_number числовое значение и преобразование его в int.

    WalterSullivan, 28 Июля 2010

    Комментарии (6)
  8. Python / Говнокод #3793

    −168

    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
    piarra=[3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5, 8, 9, 7, 9, 3, 2, 3, 8, 4, 6, 2, 6, 4, 3, 3, 8, 3, 2, 7, 9, 5, 0, 2, 8, 8, 4, 1, 9, 7, 1, 6, 9, 3, 9, 9, 3, 7, 5, 1, 0, 5, 8, 2, 0, 9, 7, 4, 9, 4, 4, 5, 9, 2, 3, 0, 7, 8, 1, 6, 4, 0, 6, 2, 8, 6, 2, 0, 8, 9, 9, 8, 6, 2, 8, 0, 3, 4, 8, 2, 5, 3, 4, 2, 1, 1, 7, 0, 6, 7, 9]
    piarrb=[3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5, 8, 9, 7, 9, 3, 2, 3, 8, 4, 6, 2, 6, 4, 3, 3, 8, 3, 2, 7, 9, 5, 0, 2, 8, 8, 4, 1, 9, 7, 1, 6, 9, 3, 9, 9, 3, 7, 5, 1, 0, 5, 8, 2, 0, 9, 7, 4, 9, 4, 4, 5, 9, 2, 3, 0, 7, 8, 1, 6, 4, 0, 6, 2, 8, 6, 2, 0, 8, 9, 9, 8, 6, 2, 8, 0, 3, 4, 8, 2, 5, 3, 4, 2, 1, 1, 7, 0, 6, 7, 9]
    
    result = []
    for i in range(len(piarra)**2):
    	result.append(0)
    
    def decr(a):
    	if a[-1]>0:
    		a[-1]-=1
    	else:
    		a.pop()
    		decr(a)
    		a.append(9)
    		if a[0]==0:
    			a.remove(0)
    		
    while piarra != [0]:
    	decr(piarra)
    	for i in range(len(piarrb)):
    		result[-1-i]+=piarrb[-1-i]
    	while(sorted(result)[-1]>9):
    		for i in range(len(result)):
    			if result[i]>9:
    				result[i]-=10
    				result[i-1]+=1
    				
    while result[0]==0:
    	result.remove(0)
    	
    sqrstr=''
    for i in result:
    	sqrsrt+=`i`
    print sqrstr

    Пи в квадрате. Оцените нетривиальность решений.

    htoto1, 27 Июля 2010

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

    +119

    1. 1
    2. 2
    3. 3
    4. 4
    percentDiscount = Math.Round( Math.Round( (toChequeLine.AmountDose - fromChequeLine.Amount) /
                                                                                      toChequeLine.AmountDose * 100, 6,
                                                                                      MidpointRounding.AwayFromZero)
                                                            , 1, MidpointRounding.AwayFromZero);

    Вычисляем процент с округлением до первого знака.

    markbrutt, 26 Июля 2010

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

    +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
    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
    <?php
    
    class Control {
    
        const
        ENV_VAR = 'REQUEST_URI',
        DIR = _SCRIPT,
        MAIN = 'default',
        FILENAME_MASK = '%s.ctrl.php',
        CHAR = '.';
    
        private static function _parametrize(&$var) {
            static $params = null;
            (null === $params) && ($params =& self::$_params);
    
            ((is_numeric($var))
                    && (($params[] = $var) || 1)
                    || (self::CHAR === $var[0])
                            && (($params[] = substr($var, 1)) || 1)
                    || (false !== ($dot = strpos($var, self::CHAR)))
                            && (($params[substr($var, 0, $dot)] = substr($var, $dot + 1)) || 1))
                    && ($var = null);
        }
    
    
        public static function call($name, $_PARAMS = array()) {
            static $_TPL = null;
            (null === $_TPL) && ($_TPL =& $GLOBALS['_TPL']);
            static $_DATA = null;
            (null === $_DATA) && ($_DATA =& $GLOBALS['_DATA']);
            static $_MY = -1;
            (-1 === $_MY) && ($_MY =& $GLOBALS['_MY']);
    
            $filename = self::DIR . '/' . sprintf(self::FILENAME_MASK, basename($name));
            return (file_exists($filename) && include($filename));
        }
    }

    На каком языке раньше писал автор?? Где тут С++?
    Платили за каждый символ??

    doremidon, 23 Июля 2010

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

    +118

    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
    void Say(bool work)
            {
                if (work)
                {
                    r = new Random();
                    i = r.Next(100);
                    textBlock1.Text = i.ToString();
    
                    textBlock1.Dispatcher.BeginInvoke(new AsyncSay(this.Say), DispatcherPriority.SystemIdle, null);
                }
            }
    
    void BtnSay_Click(object sender, RoutedEventArgs e)
            {
                Say(true);
            }
    
            private void BtnStopSay_Click(object sender, RoutedEventArgs e)
            {
                Say(false);
            }

    sergylens, 22 Июля 2010

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