1. Список говнокодов пользователя zabuhailo

    Всего: 6

  2. PHP / Говнокод #7205

    +162

    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
    private function _moveIndexes($filters,$int){
    		$count = count($filters);
    		for($i=2;$i<$count;$i++ ){
    			$filters[$i]["filter"]["index"] += $int;
    		}
    		return $filters;
    	}
    
    	private function _removeDefaultFilters(){
    		$this->data["Data"]["filters"] = $this->_moveIndexes($this->data["Data"]["filters"],-2);
    
    		$count = count($this->data["Data"]["filters"]);
    		for($i=0;$i<$count-2;$i++){
    			$this->data["Data"]["filters"][$i] = $this->data["Data"]["filters"][$i+2];
    		}
    		array_pop($this->data["Data"]["filters"]);
    		array_pop($this->data["Data"]["filters"]);
    	}

    Такой вот код... Ни строчки пояснений к нему не прилагается.
    Метод "_removeDefaultFilters()", а в коде сплошная магия.

    Почему в for() $count-2??? А внутри цикла [$i+2]...
    В другом же for() $i=2???
    В вызове _moveIndexes() второй параметр -2 (минус 2) и это значение внутри фнкции плюсуется!
    Вдовершение всего двойной вызов array_pop()...
    И всё это покрыто тайной мрака.

    zabuhailo, 08 Июля 2011

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

    +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
    function read($fields = null, $id = null) {
    	$this->validationErrors = array();
    
    	if ($id != null) {
    		$this->id = $id;
    	}
    
    	$id = $this->id;
    
    	if (is_array($this->id)) {
    		$id = $this->id[0];
    	}
    
    	if ($id !== null && $id !== false) {
    		$this->data = $this->find(array($this->alias.'.'.$this->primaryKey => $id), $fields);
    		return $this->data;
    	} else {
    		return false;
    	}
    }

    И ещё cakePHP (самый-самый фреймворк, даже в говнокоде впереди планеты всей).

    zabuhailo, 28 Июня 2011

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

    +147

    1. 1
    2. 2
    3. 3
    if ($this->alias === null) {
    			$this->alias = (isset($alias) ? $alias : $this->name);
    		}

    Это cakePHP. Вот так вот в нём модель узнаёт свой alias.

    zabuhailo, 28 Июня 2011

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

    +164

    1. 1
    $update = !empty($id) and $id > 0;

    Вопреки ожиданиям автора, выражение $id > 0 вообще никогда не принимается во внимание.
    /* Ознакомьтесь с приоритетом операций */
    Сначала отработает $update = !empty($id)
    потом значение из $update будет сравниваться с $id > 0 и результат сравнения никуда не попадёт.

    Рекомендация: используйте && вместо оператора "and".

    zabuhailo, 09 Февраля 2011

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

    +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
    /**
    * custom_field_sort used to sort the custom fields array
    */
    	function custom_field_sort(&$array) {
    		if(!$array) return $keys;
    
    		$keys=func_get_args();
    
    		array_shift($keys);
    		custom_field_sort_func($keys);
    		usort($array, "custom_field_sort_func");
    	}

    Файл тот же что и http://govnokod.ru/4920, просто следующая функция.

    zabuhailo, 15 Декабря 2010

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

    +170

    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
    /**
    * custom_field_sort_func is the function that compares 2 arrays and determines the order, used by custom_field_sort
    */
    	function custom_field_sort_func($a, $b=NULL) {
    		static $keys;
    		if($b===NULL)
    			return $keys = $a;
    		foreach($keys as $k)
    		{
    			return strcmp(@$a['custom_field'][$k], @$b['custom_field'][$k]);
    		}
    		return 0;
    	}

    Из проекта написанного на движке cakephp.
    Соответствует так же содержимому самого фреймворка.

    zabuhailo, 14 Декабря 2010

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