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

    В номинации:
    За время:
  2. 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)
  3. 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)
  4. 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)
  5. 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)
  6. 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)
  7. 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)
  8. 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)
  9. 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)
  10. C# / Говнокод #3755

    +144

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    // Assembly2.cs
    // Compile with: /target:library
    public class BaseClass 
    {
       infernal static int intM = 0;
    }

    Это пример из MSDN.
    На самом деле там был internal static int. Просто я сегодня много работал. Мало ли что покажется. :)

    anmiles, 21 Июля 2010

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

    +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
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    // говнецо терпимое
    ...
    //говнецо зачетное:
    case 'error':
    $error=array();  
    if (!empty($_POST))  
    {  
    $login=mysql_escape_string(stripslashes(trim($_POST['name']))); 
    $text=mysql_escape_string(stripslashes(trim($_POST['text']))); 
    if (empty($login))  
    $error['empty']='Ошибка. Возможные причины: Логин';
    if (empty($text))  
    $error['empty']='Ошибка. Возможные причины: комментарий';
    
    $select = mysql_query("SELECT `id` FROM `blog`");
    while ($row_id = mysql_fetch_array($select))
    {
    if (!$row_id == $_GET[id_news])
    {
    echo 'нет такойва id новости'; 
    }
    }
    
    break;
    
    // дальше говнецо

    if (!$row_id == $_GET[id_news]) //гениально, оригинал http://forum.wen.ru/?p=3&f=6&t=365157

    GoodTalkBot, 20 Июля 2010

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