Программерское (PHP)

Feb 13, 2012 07:37

Безобидная, на вид, конструкция
foreach ( $this->fields as $key=>$field ) {
     $ok = $ok and $field->check_post_data();
}
обернулась 20-ю минутами отладки.
Фишка оказалась в том, что если $ok==false, никто уже не будет вызывать $field->check_post_data() - оптимизация!, и никакой дальнейшей проверки данных не будет ( Read more... )

Leave a comment

Comments 2

alexkuklin February 13 2012, 08:12:19 UTC
ну вы, блин, даете.
это ж совершенно типичная оптимизация.
$ok = $field->check_post_data() and $ok
уж тогда
насколько я помню, оно парсится слева направо

Reply

seacat February 13 2012, 08:21:41 UTC
Дык никто и не спорит. Никто и не удивляется. Есть в русском языке такое слово - "замстило"
Вот это типичный пример. Написал очевидную лажу и 20 минут сидел ее вылавливал, хотя в соседнем файле сам этим-же эффектом пользовался.

Reply


Leave a comment

Up