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

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

    +152

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    if (a == 10)
    {
        <какие-то действия>
    }
    else
    {
        <один в один те же самые действия>
    }

    Безысходность.

    gmihalkov, 19 Октября 2014

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

    +152

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    function init() {
      
        if (!document.body) return;
     
        var body = document.body;
        var html = document.documentElement;
        // ...
    }
    // ...

    https://gist.github.com/galambalazs/6477177/

    Плавный скролл, я вот только не пойму, почему "if (!document.body) return;"?
    Типа <body> тэга может не существовать?!

    volter9, 01 Октября 2014

    Комментарии (25)
  4. JavaScript / Говнокод #16655

    +152

    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
    jQuery(document).ready(function (){
    	var setCookie = function (c_name, value, exdays) {
    		var exdate = new Date();
    		exdate.setDate(exdate.getDate() + exdays);
    		var c_value = escape(value) + ((exdays == null) ? "" : "; expires=" + exdate.toUTCString());
    		document.cookie = c_name + "=" + c_value;
    	}
    	var getCookie = function (cname){
    		var name = cname + "=";
    		var ca = document.cookie.split(';');
    		for(var i=0; i<ca.length; i++){
    			var c = ca[i].replace(/^\s+|\s+$/gm,'');
    			if (c.indexOf(name)==0) return c.substring(name.length,c.length);
    		}
    		return "";
    	}
    
    	if (window.location.hash=='#stop' || (!getCookie('crimea_is_ukraine') && jQuery.inArray(codehelper_ip.Country,ciu_countries)>=0)){
    		if (typeof(_gaq)!='undefined'){
    			_gaq.push(['_trackEvent', 'Protest', 'Show', 'Crimea is Ukraine']);
    		}

    http://putlerstop.2-you.info/share/stop_putler.js

    gost, 07 Сентября 2014

    Комментарии (39)
  5. JavaScript / Говнокод #16540

    +152

    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
    app.service('CarService', function () {
        this.dealer = "Bad";
        this.numCylinder = 4;
    });
    app.factory('CarFactory', function () {
        return function (numCylinder) {
            this.dealer = "Bad";
            this.numCylinder = numCylinder
        };
    });
    app.provider('CarProvider', function () {
        this.dealerName = 'Bad';
        this.$get = function () {
            return function (numCylinder) {
                this.numCylinder = numCylinder;
                this.dealer = this.dealerName;
            }
        };
        this.setDealerName = function (str) {
            this.dealerName = str;
        }
    });

    http://habrahabr.ru/post/220631/

    gost, 15 Августа 2014

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

    +152

    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
    <?php
    
    class Config {
    
    /* ... */
    
    	public function __construct () 
    	{
    		// Читаем настройки из дефолтного файла
    		$ini = parse_ini_file(dirname(dirname(__FILE__)).'/'.$this->config_file);
    		// Записываем настройку как переменную класса
    		foreach($ini as $var=>$value)
    			$this->vars[$var] = $value;
    
    /* ... */

    Взято из файла api/config.php из Simpla CMS.
    Нельзя было $this->vars = parse_ini_file(dirname(dirname(__FILE__) ).'/'.$this->config_file); написать что ли?

    volter9, 29 Июля 2014

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

    +152

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    function page_from_template_no_headers($t,$vl) {
    global $s,$m;
    if (!is_array($vl)) $vl = array();
    $vl = array_merge($vl,get_common_variables());
    $style = find_style(); $t = template_select($t,0,$style);
    $vl[styles] = '<LINK href="'.$s[site_url].'/styles/'.$style.'/bootstrap.css" rel="StyleSheet">';
    $fh = fopen($t,'r'); while(!feof($fh)) $line .= fgets($fh, 4096); fclose($fh);
    foreach ($vl as $k=>$v) $line = str_replace("#%$k%#",$v,$line);
    $line = preg_replace("/#%[a-z0-9_]*%#/i",'',$line);
    echo stripslashes($line);
    exit;
    }

    Напоминает частушку,
    Опа опа срослась ...зда и ..опа.
    Этого не может быть
    Промежуток должен быть.

    reddevil, 17 Июля 2014

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

    +152

    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
    <?php
    
    class Router
    {
        /** @var array */
        protected static $routeTable = array(
            'default'                         => 'index.php',
            'dashboard'                       => 'task.php',
            'user'                            => 'user.php',
            'location'                        => 'location.php',
            'ship'                            => 'ship.php',
            'task'                            => 'task.php',
            'subtask'                         => 'subtask.php',
            'view-task-list'                  => 'view-task-list.php',
            'completed-task'                  => 'completed-task.php',
            'view-completed-task-list'        => 'view-completed-task-list.php',
            'view-question-list'              => 'view-question-list.php',
            'user-report-problem'             => 'user-report-problem.php',
            'view-report-problem-list'        => 'view-report-problem-list.php',
            'view-direct-report-problem-list' => 'view-direct-report-problem-list.php',
            'reviewer'                        => 'reviewer.php',
            'report-direct'                   => 'report-direct.php',
            'report-to-task'                  => 'report-to-task.php',
    
            //TODO theme forest related (not used in application) remove
            'charts'                          => 'charts.php',
            'calendar'                        => 'calendar.php',
            'files'                           => 'files.php',
            'form_layouts'                    => 'form_layouts.php',
            'form_elements'                   => 'form_elements.php',
            'form_wizard'                     => 'form_wizard.php',
            'table'                           => 'table.php',
            'widgets'                         => 'widgets.php',
            'typography'                      => 'typography.php',
            'grids'                           => 'grids.php',
            'gallery'                         => 'gallery.php',
            'error'                           => 'error.php',
            'icons'                           => 'icons.php'
        );
    
        /**
         * Map route to page controller file.
         * Route represented as $_GET param 'p'
         *
         * @param string $route The route
         * @return string Path to page controller file
         */
        public static function dispatch($route)
        {
            $route = (string)$route;
    
            if (array_key_exists($route, self::$routeTable)) {
                return self::$routeTable[$route];
            }
    
            header('Location: index.php');
            exit();
        }
    
    }

    __proto__, 25 Июня 2014

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

    +152

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    if( $options[ 'header_show' ] != 'disable-both' && $options[ 'header_show' ] == 'header-text' ) {
        ?>
            ...
        <?php
    }
    elseif( $options[ 'header_show' ] != 'disable-both' && $options[ 'header_show' ] == 'header-logo' ) {

    Одна там блестящая тема для вордпресса.

    Fike, 23 Июня 2014

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

    +152

    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
    foreach ($line as $cell) { 
        if ($first) {
    	echo "<td id='csv_head' class='td_csv_head" . $i . "'>" 
    	. htmlspecialchars($cell) 
    	. '</br><select class="td_csv_modules' . $i . '" onchange="get_submodules($(\'.td_csv_modules' . $i . '\').val(), ' . $i . ')">' 
    	. $blank_select // </select>
    	. '</br><select class="td_csv_fields' . $i . '"><option value=""></option>'
    	. "</td>";
        } else {
    	echo "<td class='td_csv'>" . htmlspecialchars($cell) . "</td>";
        };
        $i++;
    }

    Нашел в коде коллеги. Кода было много, выкладываю самый вкусный. Момент с id и class у select-ов не опечатка. Подобное всречается абсолютно везде.

    ivanstroilov, 16 Мая 2014

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

    +152

    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
    protected function CreateClass($className, $params) {
    	switch (count($params)) {
    		case 0:
    			return new $className();
    			break;
    		case 1:
    			return new $className($params[0]);
    			break;
    		case 2:
    			return new $className($params[0], $params[1]);
    			break;
    		case 3:
    			return new $className($params[0], $params[1], $params[2]);
    			break;
    		case 4:
    			return new $className($params[0], $params[1], $params[2], $params[3]);
    			break;
    		case 5:
    			return new $className($params[0], $params[1], $params[2], $params[3], $params[4]);
    			break;
    		case 6:
    			return new $className($params[0], $params[1], $params[2], $params[3], $params[4], $params[5]);
    			break;
    		case 7:
    			return new $className($params[0], $params[1], $params[2], $params[3], $params[4], $params[5], $params[6]);
    			break;
    		case 8:
    			return new $className($params[0], $params[1], $params[2], $params[3], $params[4], $params[5], $params[6], $params[7]);
    			break;
    		case 9:
    			return new $className($params[0], $params[1], $params[2], $params[3], $params[4], $params[5], $params[6], $params[7], $params[8]);
    			break;
    		case 10:
    			return new $className($params[0], $params[1], $params[2], $params[3], $params[4], $params[5], $params[6], $params[7], $params[8], $params[9]);
    			break;
    		default:
    			echo "Too many arguments";
    			return null;
    			break;
    	}
    }

    Плагин Jevents для джумлы

    Itareo, 11 Мая 2014

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