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

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
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
function getWhere($filter)
	{
		$where = '';
		
			switch($filter)
			{			
				case '22':
					$where = ' where type = 22 ';
					return $where;
				break;
				case '23':
					$where = ' where type = 23 ';
					return $where;
				break;
				case '24':
					$where = ' where type = 24 ';
					return $where;
				break;
				case '25':
					$where = ' where type = 25 ';
					return $where;
				break;
		
				default:
					$where = '';
			};
	}

Ппц, и такое сплошь и рядом (

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

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

  • fema:
    наверное можно сделать так:
    $where = (in_array($filter, Array(22, 23, 24, 25))) ? 'where type = '.$filter : '';
    Ответить
  • Vatson01:
    Это точно ППЦ...
    $where = ($filter >= 22 && $filter <= 25) ? ' where type = ' . $filter : '';
    Ответить
  • fema:
    я использовал проверку по массиву из тех соображений что интересуемые значения не обязательно должны быть на еденицу больше один другого...
    тоесть, предположим, если по каким то причинам нам необоходимо обработать в данном случае значения фильтра 234, 3, 53 и 32
    Ответить
  • Проходим:
    Неясен контекст. Предполагается ли, что значение $filter и значения поля ВСЕГДА совпадают? Предполагается ли что в последовательности НИКОГДА не бывают пробелы (это уже упоминалось выше; к тому же, учитывая, что значения фильтра начинаются с 22, возможны и прочие достаточно дикие варианты).

    Если на хотя бы один из этих вопросов ответ «нет», то автор отнюдь не говнокодер. Код простой, читабельный, нежели извраты, предложенные в комментах. К чему я это? К тому что изначальный код простой и понятный с первого взгляда, а над вариантами из комментов авторы и сами через год будут чесать репу. И кто после этого говнокодер? 😉
    Ответить
  • начинающий:
    Говно\не говно, но сделать можно было явно короче и читабельнее 🙂
    function getWhere2($filter)
    	{
    		$val = array('22','23','24','25');
    		if (in_array($filter, $val))
    			return $where = 'where type = '.$filter;
    		else return $where = '';
    	}
    Ответить
  • начинающий:
    а вообще первый пост самый понятный и эргономичный)
    Ответить
  • Ytabu:
    #2 самый правильный - и по ресурсам и по читаемости (можно // допейсать, если нужно. Оригинальный код и прочие варианты в читабельности лишь проигрывают из-за не дающего лучшего понимания размера)
    Ответить

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

Семь раз отмерь — один отрежь, guest!

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


    8