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

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

    +167

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    if (!mysql_query($query)) {
      echo 'Invalid query: '.mysql_error()."\n";
      die();
    } else {
      mysql_query($query);
    }

    Вот такой вот крутой дебаггер!

    Wivern, 12 Октября 2010

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

    +167

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    // seen in real project
    
    class SomeClass extends AnotherClass {
        protected $_AnotherClass = null;
        
        public function __construct() {
            $this->_AnotherClass = new AnotherClass();
        }
    }

    Сочная вырезка из структуры классов.

    shizzard, 20 Сентября 2010

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

    +167

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    /**
    	* Получение длины строки для utf-8
    	*/
    	public static function strlen($str) {
        	$rus=array('й','ц','у','к','е','н','г','ш','щ','з','х','ъ','ф','ы','в','а','п','р','о','л','д','ж','э','я','ч','с','м','и','т','ь','б','ю',
                   'Й','Ц','У','К','Е','Н','Г','Ш','Щ','З','Х','Ъ','Ф','Ы','В','А','П','Р','О','Л','Д','Ж','Э','Я','Ч','С','М','И','Т','Ь','Б','Ю');
        	return strlen(str_replace($rus,'0',$str));
    	}

    зачем нам всякие (iconv|mb)_strlen ?
    хотя при отсутствии этих библиотек метод интересный

    Morgan, 13 Сентября 2010

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

    +167

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    public function for_json()
    {
         $res = unserialize(serialize($this->params));
         unset($res['wml']);
         unset($res['xhtml']);
         return $res;
    }

    Моск сломался, пытаясь понять строчку 3 :)

    ko1Rn, 03 Сентября 2010

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

    +167

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

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

    ko1Rn, 27 Августа 2010

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

    +167

    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
    function suka($str){
    
    $length = strlen($str);
    for($i=1; $i<=$length; $i++){
    
    $b = (-1)*$i;
    $substrl .= substr($str, $b, 1);
                  }
    
    echo $substrl;
    
    }
    $govno='jizni';
    suka($govno);

    Попросил соискателя написать функцию, которая перевернет строку. Просто хотелось посмотреть подход к коду.

    zorbis, 23 Августа 2010

    Комментарии (49)
  8. JavaScript / Говнокод #4059

    +167

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    <script>T=new Array();A=new Array();C=new Array();D=new Array();D[0]='Причастие ИСПУГАННЫЙ образовано от глагола совершенного вида ИСПУГАТЬ (ЧТО СДЕЛАТЬ?), кроме этого имеет приставку ИС- , поэтому пишется с двумя буквами Н';C[0]=2;T[0]=new Array('_н','н','нн');
    D[1]='Причастие ОБРАДОВАННЫЙ образовано от глагола совершенного вида ОБРАДОВАТЬ (ЧТО СДЕЛАТЬ?), кроме этого, имеет суффикс -ОВА- , поэтому пишется с двумя буквами Н';C[1]=2;T[1]=new Array('_н','н','нн');
    D[2]='Причастие ОСНОВАННОЕ имеет зависимые слова НИ НА ЧЕМ, поэтому пишется с двумя буквами Н';C[2]=2;T[2]=new Array('_н','н','нн');
    D[3]='Причастие НЕПРИГЛАШЕННЫЙ образовано от глагола совершенного вида ПРИГЛАСТЬ (ЧТО СДЕЛАТЬ?), поэтому пишется с двумя буквами Н';C[3]=2;T[3]=new Array('_н','н','нн');
    D[4]='Слово ВЛЮБЛЕННОЙ образовано от глагола совершенного вида ВЛЮБИТЬСЯ (ЧТО СДЕЛАТЬ?), поэтому пишется с двумя буквами Н';C[4]=2;T[4]=new Array('_н','н','нн');
    D[5]='Это одно из тех слов, написание которых необходимо запомнить. В нем пишется две буквы Н. ';C[5]=2;T[5]=new Array('_н','н','нн');
    // Еще очень много букв и подобных строк, написанных, по-видимому, копипастом и единой строкой (разделил построчно я для удобства чтения)
    D[30]='Слово РАЗГНЕВАННУЮ образовано от глагола совершенного вида РАЗГНЕВАТЬ (ЧТО СДЕЛАТЬ?), кроме этого, имеет приставку РАЗ- , поэтому пишется с двумя буквами Н';C[30]=2;T[30]=new Array('_н','н','нн');
    D[31]='Слово НЕУГНЕТЕННЫЙ имеет приставку У- , поэтому пишется с двумя буквами Н.';C[31]=2;T[31]=new Array('_н','н','нн');</script>
    
    					<div id="notearea"><p align="justify">Выберите правильные варианты ответов. Для проверки выполненного задания нажмите кнопку «Проверить».</p></div><br>
    					<script>if (window.opera) {var d=document.createElement('div');d.innerHTML='<p class="error">К сожалению, Ваш браузер не поддерживается. Программа работает в браузерах Internet Explorer и Mozilla Firefox.</p>';document.getElementById("notearea").appendChild(d);}</script>

    Государственный портал о русском языке Грамота.ру.
    Интерактивный диктант.

    7ion, 22 Августа 2010

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

    +167

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    /**
       * Функция умирания
       */
      public static function ending()
      {
        die;
      }

    Нашел в одном из классов волшебный метод ))

    Fishkiller, 16 Августа 2010

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

    +167

    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
    if($pass == $pswd)
    {
    //Выполнение запросов...
    }
    else
    {
    header('location: ./index.html');
    if(empty($pass))
    {
    header('location: ./index.html');
    }
    if(empty($pswd))
    {
    header('location: ./index.html');
    }
    if(empty($pass) && empty($pswd))
    {
    header('location: ./index.html');
    }
    if(empty($login) or empty($pswd))
    {
    header('location: ./index.html');
    }
    }
    //Код вывода формы.

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

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

    +167

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    function hasclass(e,c){
    has=false
    for(i=0;i<e.className.split(' ').length;i=i+1)
    if( e.className.split(' ')[i]=== c) has= true;
    if(has==true){return true;}else{return false;}
    }

    В лучших традициях говнокода. Оригинальное форматирование сохранено.

    eval, 11 Августа 2010

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