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

    +43.5

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    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, 24 Декабря 2008

    Комментарии (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 самый правильный - и по ресурсам и по читаемости (можно // допейсать, если нужно. Оригинальный код и прочие варианты в читабельности лишь проигрывают из-за не дающего лучшего понимания размера)
      Ответить

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