1. PHP / Говнокод #324

    +23.1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    <?php
    function is_featured($word_id) {
    	$sql = "SELECT * FROM `featured` WHERE `featured_id` = '$word_id'";
    	$results = mysql_query($sql);
    	if (mysql_num_rows($results)) {
    		return true;
    	} else {
    		return false;
    	}
    }

    Классический говнокод, встречаю очень часто

    Запостил: guest, 03 Января 2009

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

    • идиот:
      Я что-то не понял, в чем говнокожность, сам каждый день такое пишу
      Ответить
    • страйко:
      наверное говнокод в том, что лучше писать
      return (bool)mysql_num_rows($results);
      Ответить
    • два ретурна и есть говнокод,
      Ответить
    • Keeper:
      [quote=Говногость]два ретурна и есть говнокод,[/quote]

      Не всегда.
      Говногость, читай Макконнелла до просветления, глава "Множественные возвраты".
      Ответить
    • 1:
      Ещё неплохо бы делать
      SELECT COUNT(*) FROM `featured` WHERE ...
      Ответить
    • kastigar:
      А лучше
      SELECT 1 FROM table_name WHERE ...


      А про return'ы это да, как же часто такое встречается...
      Ответить
    • lee:
      Keeper, ты тоже почитай о точках выхода. И чем больше этих точек - тем хуже.
      Ответить
    • Keeper:
      lee, читал. И для данного примера страйко уже привел оптимальный вариант возврата значения.

      Однако, в методах со сложной логикой множественные возвраты обычно являются наименьшим злом. Потому что альтернативой им станут глубоко вложенные ветвления, что еще хуже.

      Понятно, что подобной сложной логики лучше избегать вообще. Жаль, что не всегда удается свести поставленную задачу к формальной модели с прямолинейным (straight-forward) исполнением.
      Ответить

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