1. Куча / Говнокод #4117

    +85

    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
    А я люблю вставлять в свои проекты несвежий говнокод и потом с ним ебатся. 
    Каждый день я лажу по Сети и сохраняю на черную флешку все говнокоды которые вижу.
     Потом распечатываю. На два полных листка целый день уходит. 
    Зато, когда после тяжёлого дня я прихожу домой, иду на говнокод, 
    жму Наговнокодить!...ммм и постю туда свое сокровище. И говнокодю, представляя, 
    что меня поглотил единый организм говнокод. 
    Мне вообще кажется, что авторы говнокодов, не умеют думать. 
    Не рефакторите их, не удаляйте, лучше приютите их на Говнокоде, говорите о них, 
    обсуждайте их.... А вчера приснился чудный сон, как будто я зашел в проект,и он 
    прератился в говнокод, классы, переменные, методы, все - говнокод, даже С++, даже Страйкер!
    
    #define pi 3.14159265;
    author= (c) pi+vo[1];

    как-то седня скучно на говнокоде - его полностью окупировало похапе
    вношу свежую струю

    3.14159265, 27 Августа 2010

    Комментарии (40)
  2. PHP / Говнокод #4116

    +157

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    $segs = $this->uri->segment_array();
    
    foreach ($segs as $k=>$segment)
    {
        if($k==1) continue;
        $i_segment = (int)$segment;
        if((string)$i_segment!==$segment) $url .= '/'.$segment;
    }

    Наговнокодил разбор ЮРЛ с учетом того что ХЗ сколько может быть сегментов и последние сегменты - может быть их два (всего на странице, старт с страницы), первый сегмент - имя модуля

    scanterkk, 27 Августа 2010

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

    +167

    1. 1
    $select->where('target_table.param IN (' . implode(',', array_map(create_function('$e', '{return "\'$e\'";}'), $entities)) . ')');

    Недавно наткнулся на такое :)

    ko1Rn, 27 Августа 2010

    Комментарии (4)
  4. Java / Говнокод #4114

    +84

    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
    for (int hasFirstPass = 0; hasFirstPass <= 1; ++hasFirstPass) {
                    for (int firstPassOffsetLeft = 0; firstPassOffsetLeft <= hasFirstPass; ++firstPassOffsetLeft) {
                        for (int firstPassOffsetRight = 0; firstPassOffsetRight <= hasFirstPass; ++firstPassOffsetRight) {
                            for (int firstPassOffsetTop = 0; firstPassOffsetTop <= hasFirstPass * 2; ++firstPassOffsetTop) {
                                for (int firstPassOffsetBottom = 0; firstPassOffsetBottom <= hasFirstPass * 2; ++firstPassOffsetBottom) {
                                    for (int hasSecondPass = 0; hasSecondPass <= 1; ++hasSecondPass) {
                                        for (int secondPassOffsetLeft = 0; secondPassOffsetLeft <= hasSecondPass * 2; ++secondPassOffsetLeft) {
                                            for (int secondPassOffsetRight = 0; secondPassOffsetRight <= hasSecondPass * 2; ++secondPassOffsetRight) {
                                                for (int secondPassOffsetTop =
                                                        0; secondPassOffsetTop <= hasSecondPass; ++secondPassOffsetTop) {
                                                    for (int secondPassOffsetBottom =
                                                            0; secondPassOffsetBottom <= hasSecondPass; ++secondPassOffsetBottom) {
    
                                                        // ... some processing code
                                                        
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }

    Есть некоторая обработка прямоугольника, проводящаяся в два этапа. Причём на первом этапе отступ от правого и левого края может быть не более 1, от верхнего и нижнего не более 2. На втором этапе наоборот. Каждый из этапов может отсутствовать, в таком случае естественно перебирать варианты отступа для этого этапа не нужно.

    Этот код перебирает все возможные варианты такой обработки.

    burdakovd, 27 Августа 2010

    Комментарии (36)
  5. Python / Говнокод #4113

    −101

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    #TROLOLO GENERATOR!
    def trololo(x):
        print 'tro'+('lo'*x)
        
    trololo(100)

    Если нужно потроллить!

    boltayka, 27 Августа 2010

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

    +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
    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
    ###########################################################################################################
    # Проверка переменных
    ###########################################################################################################
    function check($str) {
        $str = htmlentities(trim($str), ENT_QUOTES, 'UTF-8');
        $str = nl2br($str);
        $str = strtr($str, array (
            chr(0)=> '',
            chr(1)=> '',
            chr(2)=> '',
            chr(3)=> '',
            chr(4)=> '',
            chr(5)=> '',
            chr(6)=> '',
            chr(7)=> '',
            chr(8)=> '',
            chr(9)=> '',
            chr(10)=> '',
            chr(11)=> '',
            chr(12)=> '',
            chr(13)=> '',
            chr(14)=> '',
            chr(15)=> '',
            chr(16)=> '',
            chr(17)=> '',
            chr(18)=> '',
            chr(19)=> '',
            chr(20)=> '',
            chr(21)=> '',
            chr(22)=> '',
            chr(23)=> '',
            chr(24)=> '',
            chr(25)=> '',
            chr(26)=> '',
            chr(27)=> '',
            chr(28)=> '',
            chr(29)=> '',
            chr(30)=> '',
            chr(31)=> ''
        ));
        $str = str_replace("\'", "'", $str);
        $str = str_replace('\\', "\", $str);
        $str = str_replace("|", "I", $str);
        $str = str_replace("||", "I", $str);
        $str = str_replace("/\\\$/", "$", $str);
        $str = mysql_real_escape_string($str);
        return $str;
    }

    Лепота)

    MoLe-X, 27 Августа 2010

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

    +163

    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
    class Cache {
        var $a = 0;
    
        function set($t) {
            $this->a = $this->a+$t;
        }
    }
    
    class Core {
         function a() {
              return Cache::set(3);
         }
    }
    
    $Core = new Core;
    echo $Core->a();

    Нашел у себя на форуме. И вот где-то же такие работают..

    vitaly, 27 Августа 2010

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

    +157

    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
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    /**
     * Получить список NEW5
     * 
     * @return array список событий
     */
    public function getLastForBlockNew($cat_tc_id = NULL)
    {
    
        $max_name_len = 41;
    
        $sql = "SELECT
                    a.d_id,
                    CONCAT(a.d_sname, ' ', a.d_name, ' ', a.d_fname) as d_name,
                    SUBSTR(a.d_description, 0, 30) as d_description,
                    a.d_rating,
                    c.c_name_url,
                    b.rg_name_url,
                    '".Application_Url_Maker::makeUrl(array(), 'sub-domain1')."' as domain
                FROM customers a
                    LEFT JOIN cities c ON c.c_id=a.d_c_id
                    LEFT JOIN regions b ON b.rg_id=c.c_rg_id
                WHERE a.d_rating is not NULL
                ORDER BY RAND()
                LIMIT 5
        ";
        $query[-1] = $this->querycached($sql);
    
        $sql = "SELECT
                    a.h_id,
                    a.h_name_ru,
                    SUBSTR(a.h_description, 0, 30) as h_description,
                    a.h_rating,
                    c.c_name_url,
                    b.rg_name_url,
                    '".Application_Url_Maker::makeUrl(array(), 'sub-domain2')."' as domain,
                    h_lat,
                    h_lon,
                    h_address,
                    h_phones,
                    d.hs_name_url
                FROM hospitals a
                    LEFT JOIN cities c ON c.c_id=a.h_c_id
                    LEFT JOIN regions b ON b.rg_id=c.c_rg_id
                    LEFT JOIN item_specializations d ON d.hs_id=a.h_hs_id
                WHERE a.h_rating is not NULL
                ORDER BY RAND()
                LIMIT 5
        ";
        $query[1] = $this->querycached($sql);
    
        $tc_ids = $this->db->fetchAll("select tc_id, tc_name_subdomain from type_catalogs where tc_id<>1");
        foreach($tc_ids as $v){
            $sql = "SELECT
                        a.cat_id,
                        a.cat_name_ru,
                        SUBSTR(a.cat_description, 0, 30) as cat_description,
                        a.cat_rating,
                        c.c_name_url,
                        b.rg_name_url,
                        '".Application_Url_Maker::makeUrl(array(), $v['tc_name_subdomain'])."' as domain,
                        cat_lat,
                        cat_lon,
                        cat_address,
                        cat_phones
            FROM catalogs a
                LEFT JOIN cities c ON c.c_id=a.cat_c_id
                LEFT JOIN regions b ON b.rg_id=c.c_rg_id
            WHERE a.cat_tc_id=? and a.cat_rating is not NULL
            ORDER BY RAND()
            LIMIT 5
            ";
            $query[$v['tc_id']] = $this->querycached($sql, array($v['tc_id']));
        }
    
        foreach($query as $k=>$v){
            foreach($v as $k1=>$v1){
                if(isset($v1['cat_name_ru']) && mb_strlen($v1['cat_name_ru']) > $max_name_len){
                    $query[$k][$k1]['cat_name_ru'] = mb_substr($v1['cat_name_ru'], 0, $max_name_len).'...';
                }
                elseif(isset($v1['h_name_ru']) && mb_strlen($v1['h_name_ru']) > $max_name_len){
                    $query[$k][$k1]['h_name_ru'] = mb_substr($v1['h_name_ru'], 0, $max_name_len).'...';
                }
            }
        }
        return $query;
    }

    nergal, 26 Августа 2010

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

    +144

    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
    <?php
    
    class Event {
        private static $_instance = NULL;
        protected $_events_pool = array();
    
        public static function getInstance() {
            if (self::$_instance === NULL) {
                $class = __CLASS__;
                self::$_instance = new $class;
            }
            
            return self::$_instance;
        }
    
        private function __construct() { }
    
        public function connect($event, $callback, array $params = null) {
            $this->_events_pool[$event] = array(
                'callback'	=>	$callback,
                'params'	=>	$params,
            );
            
            return $this;
        }
    
        public function clear($event = NULL) {
            if ($event === NULL) {
                $this->_events_pool = array();
            } else {
                foreach ($this->_events_pool as $id => $_event) {
                     if ($_event['event'] === $event) {
                        $this->_events_pool[$id] = NULL;
                     }
                }
            }
        }
    
        public function emit($events = NULL) {
            if ($events === NULL) {
                $events = array_keys($this->_events_pool);
            } else {
                $events = (is_array($events)) ? $events : array($events);
            }
            
            foreach ($events as $event) {
                foreach ($this->_events_pool as $id => $item) {
                     if ($id === $event) {
                        $this->call($this->_events_pool[$id]['callback']);
                     }
                }
            }
        }
    
        protected function call($class_name, $method_name = NULL, array $params = array(), array $class_params = array()) {	
            $_method = ($method_name === NULL) ? $class_name : array($class_name, $method_name);
            call_user_func_array($_method, $params);
        }
    }

    nergal, 26 Августа 2010

    Комментарии (18)
  10. Perl / Говнокод #4108

    −117

    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
    my $arr=[];
    my $res=$dbr->selectrow_arrayref("SELECT DISTINCT obj.value
    FROM obj
    INNER JOIN ...
    INNER JOIN ...
    INNER JOIN ...
    INNER JOIN ...
    INNER JOIN ...
    WHERE ..... 
    сложный, но не интересный SQL-запрос к наскольким таблицам под лям записей в каждом
    ...");
    arm_ls.lsid IN ($ls_str)
    
    foreach $row (@$res)
    {
    push(@$arr,$row->[0]) if (!grep(/^$row->[0]$/,@$arr));
    }
    my $sum=@$arr;
    return $sum;

    Нашел тут в одном проекте. Теперь хочу поделиться с вами великолепным способом получения числа уникальных значений из таблицы.
    В этот способ научит вас использовать всю мощь перла.

    Mihard, 26 Августа 2010

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