"PHP" / Говнокод #15609 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
public function validateItem() {
  $orderPricesSum = null;
  if($orderPricesSum == null) {
	$orderPricesSum = $this->getPricesSum();
  }

 if($this->minimal && $orderPricesSum < $this->minimal) {
	return false;
  }

  if($this->maximum && $orderPricesSum > $this->maximum) {
	return false;
  }

  return true;
}

$orderPricesSum другой ведь какой-то может быть...

Запостил: farit_slv farit_slv, (Updated )

Комментарии (7) RSS

  • Строчки 2-3 - полный бред.

    Несогласованные названия полей (либо minimal/maximal, либо minimum/maximum, но не вперемешку)

    Подозреваю, что getPricesSum - это обычный геттер. И тогда вся функция сводится к:

    return (empty($this->minimal)||$this->pricesSum>=$this->minimal)&&(empty($this->maximum)||$this->pricesSum<=$this->maximum);
    Ответить
    • Подозреваю, что всё-же оно что-то суммирует, для этого промежуточная переменная. Но сути не меняет, да. Хотя я бы не стал так сокращать, заменил бы только первые 4 строки на $orderPricesSum = $this->getPricesSum();. Развёрнутые ифы нагляднее демонстрируют назначение кода. Элементарная экономия времени при разборе чужого кода. 🙂
      Ответить
      • С $orderPriceSum частично согласен. Но все же, если это геттер, то он должен суммировать только один раз и при последующих вызовах возвращать запомненную сумму.

        if, телом которого является "return false;", имеет смысл либо когда условие слишком сложное, либо когда имеется последовательность разнородных условий (т.е. проверяются разные сущности), либо имеется вложенность операторов и после этого if'а есть действия, отличные от retrn. Здесь же условие слишком простое, чтобы разбивать его на 2 if'а, да еще и вставлять после них "return true;".
        Ответить
    • Так я о том же, по сути $orderPricesSum это не глобальная какая то переменная, что бы ее переопределять и еще проверять на пустоту
      Ответить
  • >>$orderPricesSum < $this->minimal
    >>$orderPricesSum > $this->maximum
    wut?
    Ответить
    • Нет, не так. $this->minimal и $this->maximum могут быть "пустыми" ("", null, [], 0, false) и тогда сравнение с ними производить не нужно.
      Ответить

Добавить комментарий

Помни, guest, за тобой могут следить!

    А не использовать ли нам bbcode?


    8