- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 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()...
И всё это покрыто тайной мрака.
kipar 08.07.2011 10:20 # +11
Lure Of Chaos 08.07.2011 10:50 # +2
yasenhui 08.07.2011 11:24 # 0
gegMOPO4 08.07.2011 14:19 # 0
Всё очевидно и ясно. Не так ли?
Demetr 08.07.2011 14:32 # 0
gegMOPO4 08.07.2011 14:44 # 0
Lure Of Chaos 08.07.2011 14:52 # 0
gegMOPO4 08.07.2011 15:02 # 0
На самом деле приватность метода даёт шанс надеяться, что эта гарантия обеспечивается по месту вызова и извне не всё так страшно. Но небольшой.
zabuhailo 11.07.2011 10:30 # 0
>> Первые 2 — фильтры «по умолчанию».
Это вот оно и есть. Сегодня их два, завтра один - залезай поколено в код и правь руками...
Опять же, на чём основано соглашение о "первых"... тоже сильно пахнет.
Ещё. Конкретное значение индексов не должно никого волновать, важно их отношение между собой.
Код не очевиден. К тому же избыточен (и тратит машинный ресурс за зря)
Ах, да... модификатор private это я дописал, собственно код опирался на соглашение что имена методов начинающиеся с '_' указывают на приватность метода. Тем не менее в проекте часто такие имена вызываются извне.
За такой код нужно увольнять с требованием вернуть все зарплатные выплаты. (Это я ещё и под эффектом от остального кода проекта) :-)
gegMOPO4 11.07.2011 10:42 # 0
Код-то как бы может и работающий (в определённых условиях), и логика какая-то есть, но писан марсианами. Вызывает улыбку, пока не приходится с ним работать. Нам смешно, а вам сочувствую.
zabuhailo 11.07.2011 10:46 # −1
Полагаю и вы тут не случайно оказались... )