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

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

    −396

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    - (void)isCharityPost: (BOOL)charityPost{
        self.charityButton.hidden = charityPost ? NO : YES;
        self.cashBadgeButton.hidden = charityPost ? NO : YES;
        
        [self updateCharityButtonWithText:self.charityButton.titleLabel.text];
    }

    Production-код.
    Пунктуация сохранена.

    nshipster, 06 Августа 2014

    Комментарии (2)
  3. C# / Говнокод #16492

    +132

    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
    public void Insert(object obj, int id)
            {
                var a = Convert.ChangeType(obj, Types[id]);
                var b = Convert.ChangeType(ObjectSets[id],ObjectSets[id].GetType());
                b.GetType().GetMethod("AddObject").Invoke(b,new []{ a });
            }
    
            public void Delete(object obj, int id)
            {
                var a = Convert.ChangeType(obj, Types[id]);
                var b = Convert.ChangeType(ObjectSets[id], ObjectSets[id].GetType());
                b.GetType().GetMethod("DeleteObject").Invoke(b, new[] { a });
            }

    Рефлексия и Entity Framework. Продолжение

    Serg, 06 Августа 2014

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

    +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
    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
    function UsersDefineParameters(&$db_parameters, &$cookie_parameters, $key = '', $is_check_db = false)
    {
    	global $CONFIG, $USER, $SCRIPT;
    	
    	if (!$key) $key = array();
    	$SCRIPT[ttt] = $is_check_db ? 1 : 0;
    	$default_val = tieArrayValue($CONFIG[defaults], $key);
    	$SCRIPT[ttt] = 0;
    	$user_val = tieArrayValue($USER[parameters], $key);
    	$db_val = tieArrayValue($db_parameters, $key);
    	$cookie_val = tieArrayValue($cookie_parameters, $key);
    	
    	if ($is_check_db)
    	{
    		if (!is_array($db_val) || (isListArray($db_val) && count($db_val) == 2 && is_int($db_val[1])))
    			{if (!isset($default_val)) tieArrayValue($USER[parameters], $key, is_array($db_val) ? $db_val[0] : $db_val);}
    		else foreach ($db_val as $k=>$v) UsersDefineParameters($db_parameters, $cookie_parameters, array_merge($key, array($k)), 1);
    	}
    	else
    		if (!is_array($default_val) || (isListArray($default_val) && count($default_val) == 2 && is_int($default_val[1])))
    		{
    			$use_cookie = !is_array($default_val) || $default_val[1];
    			$keys = array(db, cookie);
    			foreach ($keys as $k)
    				if (isset(${$k._val}))
    				{${$k._time} = is_array(${$k._val}) ? (int)${$k._val}[1] : 0; if (is_array(${$k._val})) ${$k._val} = ${$k._val}[0];}
    			
    			if (isset($db_val) && (!$use_cookie || !isset($cookie_val) || $db_time >= $cookie_time)) {$val = $db_val; $time = $db_time;}
    			elseif ($use_cookie && isset($cookie_val)) {$val = $cookie_val; $time = $cookie_time;}
    			else {$val = is_array($default_val) ? $default_val[0] : $default_val; unset($time);}
    			
    			if (isset($time))
    			{
    				if ($val != $db_val) {tieArrayValue($SCRIPT[write_db_parameters], $key, array($val,$time)); $SCRIPT[is_write_db_parameters] = true;}
    				if ($use_cookie) tieArrayValue($SCRIPT[write_cookie_parameters], $key, array($val, $time));
    			}
    			tieArrayValue($USER[parameters], $key, $val);
    		}
    		else foreach ($default_val as $k=>$v) UsersDefineParameters($db_parameters, $cookie_parameters, array_merge($key, array($k)));
    	
    	if (!$is_check_db && !$key) UsersDefineParameters($db_parameters, $cookie_parameters, '', 1);
    }
    
    function tieArrayValue(&$arr, $key, $value = '')
    {
    	if (is_string($key)) $key = explode('][',substr($key,1,-1));
    	$element = &$arr;
        $count=count($key);
    	for ($i=0;$i<$count;$i++) $element = &$element[$key[$i]];
    	if (func_num_args() == 3) {$element = $value; unset($arr);}
    	else return $element;
    }
    
    function isListArray($arr)
    {
    	if (!is_array($arr)) return false;
    	@reset($arr); $i = 0;
    	while (list($key) = @each($arr)) if ((string)$key != (string)$i++) return false;
    	return true;
    }

    Крайне "эффективное" склеивание массивов с настройками из разных источников

    proff, 03 Августа 2014

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

    +153

    1. 1
    2. 2
    3. 3
    if($servid>0){
        $servid=$servid;
    }

    А если $servid == 0?

    Khvorostin, 30 Июля 2014

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

    +130

    1. 1
    bool b1 = listForm != null ? listForm.AllowAddOther : false;

    zxxc, 27 Июля 2014

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

    +158

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    $dbhost = DB_HOSTNAME;
     $dbuser = DB_USERNAME;
     $dbpass = DB_PASSWORD;
     $dbdatabase = DB_DATABASE;
     $dbprefix = DB_PREFIX;

    Из платного модуля для опенкарта.

    SOKOJI, 25 Июля 2014

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

    +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
    function commandLineArgsToGet() {
        global $argv;
    
        foreach ($argv as $arg) {
            $param = explode('=', $arg);
            if (count($param) == 2) {
                $_GET[$param[0]] = $param[1];
            }
            else {
                $_GET[$param[0]] = null;
            }
        }
    }

    Встретил функцию для перевода аргументов командной строки в $_GET-массив.

    vgoodvin, 22 Июля 2014

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

    +153

    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
    <?
    if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();
    
    class CBPTask2Activity
        extends CBPActivity
    {
        public function __construct($name)
        {
            parent::__construct($name);
            $this->arProperties = array(
                "Title" => "", //название действия
                "TaskGroupId" => "", //личная или группа
                "TaskOwnerId" => "", //
                "TaskCreatedBy" => "", //автор
                "TaskActiveFrom" => "", //РѕС‚
                "TaskActiveTo" => "", //РґРѕ
                "TaskName" => "", //название таски
                "TaskDetailText" => "", //описание
                "TaskPriority" => "", //приоритет
                "TaskAssignedTo" => "", //ответственный
                "TaskTrackers" => "", //следящие
                            "TaskCheckResult" => "", //
                "TaskReport" => "", //
                            "TaskChangeDeadline" => "",
            );
        }

    Копия кода из официальной документации битрикса:
    http://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=57&TYPE=Y (внизу)

    #bitrix #black chi

    waspar, 17 Июля 2014

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

    +158

    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
    for ( var i in data){
                flat_data.push(data[i]);       
                if (data[i].children){
                    for (var j in data[i].children){
                        flat_data.push(data[i].children[j]);
                        if (data[i].children[j].children){
                            for (var z in data[i].children[j].children){
                                flat_data.push(data[i].children[j].children[z]);
                            }
                        }
                    }
                }
            }

    Вот с таким кодом приходится работать...

    monstrodev, 10 Июля 2014

    Комментарии (2)
  11. Куча / Говнокод #16246

    +128

    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
    @keyframes shadow{
        from {
            -webkit-box-shadow: 0px 0px 55px 10px rgba(168,207,255,40);
            -moz-box-shadow: 0px 0px 55px 10px rgba(168,207,255,40);
            box-shadow: 0px 0px 55px 10px rgba(168,207,255,40);
    
            -webkit-box-shadow: 0px 0px 54px 10px rgba(168,207,255,40);
            -moz-box-shadow: 0px 0px 54px 10px rgba(168,207,255,40);
            box-shadow: 0px 0px 54px 10px rgba(168,207,255,40);
    
            -webkit-box-shadow: 0px 0px 53px 10px rgba(168,207,255,40);
            -moz-box-shadow: 0px 0px 53px 10px rgba(168,207,255,40);
            box-shadow: 0px 0px 53px 10px rgba(168,207,255,40);
    	     
    	     
    	     .......
    	     
    	     
            -webkit-box-shadow: 0px 0px 1px 10px rgba(168,207,255,40);
            -moz-box-shadow: 0px 0px 1px 10px rgba(168,207,255,40);
            box-shadow: 0px 0px 1px 10px rgba(168,207,255,40);
           }
        to{
            -webkit-box-shadow: 0px 0px 1px 10px rgba(168,207,255,40);
            -moz-box-shadow: 0px 0px 1px 10px rgba(168,207,255,40);
            box-shadow: 0px 0px 1px 10px rgba(168,207,255,40);
    
          	.......
          	
            -webkit-box-shadow: 0px 0px 53px 10px rgba(168,207,255,40);
            -moz-box-shadow: 0px 0px 53px 10px rgba(168,207,255,40);
            box-shadow: 0px 0px 53px 10px rgba(168,207,255,40);
    
            -webkit-box-shadow: 0px 0px 54px 10px rgba(168,207,255,40);
            -moz-box-shadow: 0px 0px 54px 10px rgba(168,207,255,40);
            box-shadow: 0px 0px 54px 10px rgba(168,207,255,40);
    
            -webkit-box-shadow: 0px 0px 55px 10px rgba(168,207,255,40);
            -moz-box-shadow: 0px 0px 55px 10px rgba(168,207,255,40);
            box-shadow: 0px 0px 55px 10px rgba(168,207,255,40);
    
        }
    }
    
    #progressShadow{
        height:25px;
        margin:-28px 0 0 30px;
        border-radius: 10px;
        position: absolute;
        -webkit-animation: shadow 1s linear infinite;
        -moz-animation: shadow 1s linear infinite;
        animation: shadow 1s linear infinite;
    }

    Чувак хотел создать эффект пульсацию с CSS и расчет сделал от 55px до 1px и от 1px до 55px )))

    asus-ns55, 27 Июня 2014

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