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

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
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
  34. 34
  35. 35
  36. 36
  37. 37
  38. 38
  39. 39
  40. 40
  41. 41
  42. 42
  43. 43
  44. 44
<?php
		// ...
		////////////////
		$_engines = unserialize(SENGINES);

		if (0 == count($loading)) return -3;
		$select=-1;
		$delta=0;
		$me=count($_engines);
		$ms=count($args);

		if (count($loading))
		foreach ($loading as $k=>$v)
		{
			if (!isset($v['all'])) continue;
			if (0==$v['all']) continue;
			$tmp=0;
			switch(1)
			{
				case $ms > 0:
					foreach ($args as $engine)
					{
						if (isset($v[$engine]))
						$tmp += (float) $v[$engine]/(float) $v['all'];
					}
					$tmp=$tmp/$ms;
					break;

				case $me > 0:
					foreach ($_engines as $engine)
					{
						if (isset($v[$engine]))
						$tmp += (float) $v[$engine]/(float) $v['all'];
					}
					$tmp=$tmp/$me;
					break;

			}

			if ($tmp > $delta)	{$delta=$tmp;$select=$k;}
		}
		if (-1 == $select) return false;
		////////////////
		// ...

Автор этого убеждает, что тут где-то производится сортировка.

Кстати, это, #4071 и #4215 кодил один и тот же автор. Поэтому тут можно наблюдать десериализацию массива из константы, возвращение непонятных отрицательных статусов, очень информативное именование переменных, копипаст и самое классное — "if для лохов, я использую switch(1)"

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

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

  • тут дело не в if switch(1) это вариант switch(true)
    использование одной из особенностей пыхи. Здесь НАХ не нужная. Любовь к копипасту и наплевательство на принятые нормы очевидна
    if (-1 == $select) просто убило.
    Ответить
    • > if (-1 == $select) просто убило.
      Что не так? Я так все ифы пишу, вначале чему равно, а потом что - уберегает от случайного $select = -1 присваивания вместо сравнения, ну и сразу видно чему равно, а то иногда строки длинные
      switch(1) здесь канеша не в тему =)
      Ответить
      • ага, попробуйте удалить и установить заново, а если проблема продолжает повторяться, обратитесь к разработчику = )
        Ответить

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

Переведи на "PHP", guest!

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


    8