- 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()...
И всё это покрыто тайной мрака.
Всё очевидно и ясно. Не так ли?
На самом деле приватность метода даёт шанс надеяться, что эта гарантия обеспечивается по месту вызова и извне не всё так страшно. Но небольшой.
>> Первые 2 — фильтры «по умолчанию».
Это вот оно и есть. Сегодня их два, завтра один - залезай поколено в код и правь руками...
Опять же, на чём основано соглашение о "первых"... тоже сильно пахнет.
Ещё. Конкретное значение индексов не должно никого волновать, важно их отношение между собой.
Код не очевиден. К тому же избыточен (и тратит машинный ресурс за зря)
Ах, да... модификатор private это я дописал, собственно код опирался на соглашение что имена методов начинающиеся с '_' указывают на приватность метода. Тем не менее в проекте часто такие имена вызываются извне.
За такой код нужно увольнять с требованием вернуть все зарплатные выплаты. (Это я ещё и под эффектом от остального кода проекта) :-)
Код-то как бы может и работающий (в определённых условиях), и логика какая-то есть, но писан марсианами. Вызывает улыбку, пока не приходится с ним работать. Нам смешно, а вам сочувствую.
Полагаю и вы тут не случайно оказались... )