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

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

    +143

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    //Serialize
    if(is_numeric($value) || is_string($value))
    return $value;
    else
    return serialize($value);
    
    //Unserialize
    if(is_numeric($value))
    return $value;
    if(preg_match('/(a|O|s|b)\x3a[0-9]*?((\x3a((\x7b?(.+)\x7d)|(\x22(.+)\x22\x3b)))|(\x3b))/', $value)
    return unserialize($value);

    http://forum.dklab.ru/viewtopic.php?t=38585

    > Использовал я такой способ на проекте, потом перестал поддерживать проект, и ко мне время от времени обращается нынешний программист и говорит, что
    > плохо работает и не все данные возвращает.

    > Правильная ли регулярка?

    Lure Of Chaos, 18 Января 2011

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

    +167

    1. 1
    2. 2
    3. 3
    if (!/^.{1,40}@.{1,40}\..{1,4}$/.test(email)) {
    ...
    }

    Такая вот проверка и-мейла на валидность.
    vkontakte.ru/js/friends.js?11 :1006

    m1el, 18 Января 2011

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

    +166

    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
    <?php
    ...
    if($_POST['action'] == 'parse') {
    	$login = $_POST['login'];
    	$pass = $_POST['pass'];
    	$file = $_POST['file'];
    	$page = $_POST['page'];
    	$sleep = intval($_POST['sleep']);
    	
    	//$key = iconv('cp1251','utf-8',$_POST['key']);
    
    	if ( empty($login) or empty($pass) or empty($file) or empty($page) ) die('Не заданы параметры.');
    	
    	if ( !login($login,$pass) ) die('Неверный логин или пароль.');
    ...
    if ( preg_match('#Изменить персональные данные|Создание страницы#Ui',$code) ) {
        return true;
    } else {
        return false;
    }
    ...
    ?>

    Прислали в ICQ, попросили доработать... Отказал

    Devzirom, 17 Января 2011

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

    +154

    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
    <?php
    require_once('MultiAutoload.php');
    
    class Dispatcher {
    
    	private $handle;
    
    	function __construct($event_handle) {
    		$this->handle = $event_handle;
    	}
    
    	function handleEvent() {
    		$name = 'Handler_'.$this->handle;
    		if (class_exists($name)) {
    			$handler_obj = new $name($this->handle);
    			$response = $handler_obj->secureHandler();
    			return $response;
    		}
    		else {
    			throw new Exception('Event handling is impossible!');
    		}
    	}
    }
    ?>

    Немного экзотики: PHP в стиле Win32! Говно за собой не сразу увидел,
    но когда "пришло озарение" было смешно.

    dwinner, 13 Января 2011

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

    +176

    1. 1
    _ajax("/ajax.js", "script");

    Тянем ajax-функцией файл с ajax-функциями

    fuckyounoob, 13 Января 2011

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

    +162

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    function check_all(){
    	<?
    		if(!empty($this->params["show"]))  foreach($this->params["show"] as $key_ar => $ar){			
    			echo "document.getElementById('id[".$ar["id"]."]').checked=true; \n";
    		}
    	?>
    }

    Вот так в проектах одной из ведущих компаний по разработке сайтов в моем городе пишут функции для выбора всех checkbox.
    p.s. сам код в HTML файле. $this->params["show"] это массив данных полученный после запроса к mysql (фактически выборка данных из справочника)
    p.p.s на сайте даже jquery подключен.

    supercoder, 13 Января 2011

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

    +171

    1. 1
    @flush();@ob_flush();@flush();

    Я сказал flush(), сука! Эта фигня встречается в одном .php файле раз 20

    govnozmey, 12 Января 2011

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

    −116

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    sub child_handler {
            #wait end of the child process
            my $waitedpid = wait;
            delete $my_childs{$waitedpid};
            $SIG{CHLD} = \&child_handler;
            LOG ("ripped $waitedpid" . ($? ? " with exit $?" : '')) if ($main::DEBUG>0);
    }
    
    $SIG{CHLD} = \&child_handler;

    Тарификатор плодящий зомби.
    Автор не поленился переустановить обработчик для сигнала.. хотя это не нужно. Всем читать учебники - как правильно рипать чайлдов в цикле.
    (с) Руслан Залата

    SanityIO, 12 Января 2011

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

    −81

    1. 1
    2. 2
    3. 3
    $search =~ s/[\ \%\*\[\]\^\$\']+/\%/g; # '                                                                                                                                          
    my $search_str = '%' . $search . '%';                                                                                                                                               
    $search_str =~ s/\%+/\%/g;

    эскейп стринга для БД (с) Руслан Залата

    SanityIO, 12 Января 2011

    Комментарии (5)
  11. Pascal / Говнокод #5226

    +101

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    procedure TwndMain.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    var
      s: string;
    begin
      s := UpperCase(GetCompName);
      CanClose :=
        ((Pos('VADIM', s) <> 0) and (DM.DefDBID = 0)) or
        (ShowConfirmation('Ви дійсно бажаєте вийти з програми?') = mrYes);
    end;

    Программиста Вадима реально задолбало это сообщение :)

    stokito, 12 Января 2011

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