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

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

    +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
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    //CSS Анимация 1 
    function hideConv(){
    	//добавляем класс содержащий св-ва конца анмиации
    	$("#mail").addClass("animated200ms");
    	$("#mail").css("opacity","0");	
    	//определяем объект анимации
    	var elem=document.getElementById("mail");
    	//вешаем прослушиватель завершения анимации
    	elem.addEventListener('transitionend', function(event) {
    		event.stopImmediatePropagation();
    		//ф-ия выполняемая после завершения анимации 1
    		showConv();
    	},false);	
    }
    
    //CSS Анимация 2 
      function showConv(){
    	
    	//копируем содержимое объекта анимации
    	var m = $("#mail").html();
    	//удаляем объект анимации на ***
    	$("#mail").remove();
    	//вставляем его снова *** 
    	$(".сontacts").append("<div id='mail' class='animated200ms' style='opacity: 0;'></div>");
    	$("#mail").append(m);
    	
    	
    	//не можем отловить событие завершения анимации 2 - делаем таймаут и надеемся что анимация успела выполнится 
    	$("#mail").css("opacity",0);
    	tv = setTimeout(function()
    	{
    		$("#mail").css("opacity",1);
    	},500);
    	
    	
    	//не можем отловить событие завершения анимации 3 - делаем таймаут и надеемся что анимация успела выполнится 
    	time_var = setTimeout(function()
    	{
    		$("#mail").removeClass("animated200ms");
    		openMail();
    	}, 3500);
      }

    Задача: выполнить цепочку анимации на CSS: анимация-1, анимация-2, анимация-3. Каждая следующая анимация должна запускаться по завершению предыдущей. Смотрим и улыбаемся.
    Работу выполнил фрилансер: https://www.fl.ru/users/nDc/ за 900руб.

    agency-it, 10 Марта 2014

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

    +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
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    public static function checkUserRights($project, $user, $action, $allowView = false)
        {
    
            $action_id = Actions::getActionIdByName($action);
            $user_role = ProjectsRoles::getUserRoleInProject($project, $user);
    
            if(is_null($user_role))
                HUtils::Exception(403);
    
            $roles = Roles::getRolesOrderedByWeight();
    
            $user_role = $user_role->role;
    
            foreach($roles as $role)
            {
    
                if($role->weight <= $user_role)
                {
                    $user_role -= $role->weight;
                    if(in_array($action_id,HUtils::Parse($role->actions)))
                        return 1;
                }
    
            }
    
            if(!$allowView)
                HUtils::Exception(403);
        }

    Функция проверки прав.

    $allowView в конце функции намекает, что доступ получен не будет. Никогда. Вроде бы.

    nulreferense, 04 Марта 2014

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

    +174

    1. 1
    if (!jQuery(this).html().length > 0) {....}

    нашел в своем старом проекте

    voltaren, 26 Февраля 2014

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

    −99

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    >>> max
    <built-in function max>
    >>> max.__call__
    <method-wrapper '__call__' of builtin_function_or_method object at 0x01D72080>
    >>> max.__call__.__call__
    <method-wrapper '__call__' of method-wrapper object at 0x022D2730>
    >>> max.__call__.__call__.__call__
    <method-wrapper '__call__' of method-wrapper object at 0x022D29B0>
    >>> max.__call__.__call__.__call__.__call__
    <method-wrapper '__call__' of method-wrapper object at 0x022D2970>
    >>> max.__call__.__call__.__call__.__call__(1,2,3)
    3

    We need to go deeper.

    Vindicar, 21 Февраля 2014

    Комментарии (10)
  6. C++ / Говнокод #14618

    +43

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    /*
     * encoding.cpp
     *
     *  Created on: Oct 25, 2012
     *      Author: root
     */

    falsting, 17 Февраля 2014

    Комментарии (10)
  7. Си / Говнокод #14552

    +116

    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
    #include <stdio.h>
    #include <stdlib.h>
     
    int main() {
    	printf("%s\n", NULL);
    	return 0;
    }
    
    
    
    #include <stdio.h>
    #include <stdlib.h>
     
    int main() {
    	const char str[] = "%s\n";
    	printf(str, NULL);
    	return 0;
    }

    Эквивалентные программы такие эквивалентные. А всё из-за printf optimization в GCC.

    Стандарт, кстати, разрешает, потому что это UB.

    Вообще пора создать ub.govnokod.ru и складывать туда примеры разного поведения на каждое UB из стандарта.

    someone, 13 Февраля 2014

    Комментарии (10)
  8. C# / Говнокод #14549

    +133

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    string dirUp = striBuildDir + striBinaryDir + "\\" + striTempDir + "\\";
     string dirRelease = strDirBin;
     int i = 1;
     while (ConfigurationSettings.AppSettings["SettingDir" + i] != null)
      {

    и еще строк 100500 такого же стиля

    taburetka, 12 Февраля 2014

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

    +160

    1. 1
    2. 2
    if ($_SESSION["spo_filter_history"]=="Y")
    		$_REQUEST["filter_history"] == "Y";

    Bitrix. sale.personal.order.list
    А я еще удивлялся "какого хуя фильтр не работает?"

    TBoolean, 12 Февраля 2014

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

    +74

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    class A {}
    
    class B {}
    
    class C {
        public void m(A a, B b) {
            /* ... */
            if ((Object) a != (Object) b) { /* ... */ }
        }
    }

    Да здравствуют неочевидности! По-нормальному же нельзя писать :)

    evg_ever, 08 Февраля 2014

    Комментарии (10)
  11. SQL / Говнокод #14508

    −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
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    PROCEDURE login_attr(a_id IN CHAR, a_pw IN VARCHAR2, v_ret IN OUT VARCHAR2)
    IS
       v_count INTEGER;
    BEGIN
       v_count := 0;
    
       SELECT NVL (COUNT (attrib_desc), 0)
         INTO v_count
         FROM tab_attr a,
              tab_users b
        WHERE a.msc_cd = b.user_dept
          AND a.attr_cd = 'CD'
          AND lattr_cd = 'ABCD'
          AND UPPER (user_no) = UPPER (a_id)
          AND UPPER (user_pw) = UPPER (a_pw);
    
       IF v_count > 0 THEN
          SELECT attrib_desc || '@' || user_lang || '@' || user_autoimg ||
                 '@' || user_imgtime || '@' || user_loc || '@' ||
                 user_dept
            INTO v_ret
            FROM tab_attr a,
                 tab_users b
           WHERE a.msc_cd = b.user_dept
             AND a.attr_cd = 'CD'
             AND lattr_cd = 'ABCD'
             AND UPPER (user_no) = UPPER (a_id)
             AND UPPER (user_pw) = UPPER (a_pw);
       ELSE
          v_ret := ' ';
       END IF;
    
    END;

    Нам нужно больше селектов.

    P.S. почему в предпросмотре язык Java, хотя выбран SQL?

    slbsomeone, 05 Февраля 2014

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