- 1
- 2
- 3
public function loadClass($class) {
return class_exists($class)||interface_exists($class)||($this->load($this->findClass($class))&&(class_exists($class)||interface_exists($class)));
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+146
public function loadClass($class) {
return class_exists($class)||interface_exists($class)||($this->load($this->findClass($class))&&(class_exists($class)||interface_exists($class)));
}
прямиком из IDE. "Оптимизация" из разряда "лучшее - враг хорошего".
Не знаю, сочтет ли публика говнокодом, но, на мой взгляд, лучше оное записать не в одну строчку.
gegMOPO4 30.01.2011 23:03 # 0
Lure Of Chaos 30.01.2011 23:05 # −1
gegMOPO4 31.01.2011 00:37 # +1
Lure Of Chaos 31.01.2011 00:43 # 0
1 - уже класс есть - плохо
2 - нет файла с классом - плохо
3 - в файле класса не оказалось - плохо
4 - ура
а не
естьклассилиинтерфейсилизагрузитьтеперье стьклассилиинтерфейс
gegMOPO4 31.01.2011 12:29 # +1
Ещё аргумент -- любая другая запись будет занимать больше места, дольше компилироваться в больший байт-код и дольше выполняться.
Первый мой комментарий был саркастичным, а теперь я вижу, что это совсем не говнокод. Может быть для некоторых -- матанкод.
Lure Of Chaos 31.01.2011 14:56 # −1
gegMOPO4 31.01.2011 15:33 # +3
Lure Of Chaos 31.01.2011 15:35 # −4
gegMOPO4 31.01.2011 15:49 # +1
Lure Of Chaos 31.01.2011 15:53 # −1
gegMOPO4 31.01.2011 15:59 # +1
Разница с ++i + i++ в том, что сабж работает (притом правильно и оптимально), а ++i + i++ -- UB. В одном случае тараканы в голове читающего, в другом -- пишущего.
Lure Of Chaos 31.01.2011 16:02 # −2
небольшая копипаста, но теперь не запутывает и работает
telnet 31.01.2011 16:23 # +2
http://toys.lerdorf.com/archives/38-The-no-framework-PHP-MVC-framework.html
Try to avoid using include_once and require_once if possible. You are much better off using a straight include or require call, because the *_once() calls are very slow under an opcode cache. Sometimes there is no way around using these calls, but recognize that each one costs you an extra open() syscall and hash look up.
Да, у меня тоже баттхёрт.
Lure Of Chaos 31.01.2011 16:33 # −1
он что, открывает файл и вычисляет хеш?
я думал, пхп в памяти держит уже проинклуженные пути
xXx_totalwar 31.01.2011 16:59 # 0
(очевидно, что это workaround чтоб не налажать с симлинками)
gegMOPO4 31.01.2011 16:40 # +3
Две последние строчки -- это классика говнокода. Тут их тьма в разных вариациях.
Парсится всё это дольше, байткод получается больше, выполняется дольше.
Места на экране занимает на две строчки больше, притом у меня всё равно по ширине не влезает, скроллер вылазит.
За отсутствие отбивки пробелами -- моё фи, за return в одной строчке с if -- тоже. Кстати, вместо || следовало бы разбить if-ы, увеличив код ещё на несколько строчек.
Достаточно? ;)
Lure Of Chaos 31.01.2011 16:48 # −1
но выполняться должно чуть быстрее, потому что избавились от одного вызова метода
artureg 31.01.2011 18:46 # 0
Lure Of Chaos 31.01.2011 18:55 # −1
bugmenot 31.01.2011 08:22 # +2
gegMOPO4 31.01.2011 12:33 # 0
Для кода, который пишется хорошо один раз, а потом по нему только скользишь глазами -- сойдёт.
bugmenot 31.01.2011 14:07 # +2
да не в экранных наномилях ширина кода меряется, а в колонках, причем const DO_XPEHA = 80
единственным оправданием может служить то, что в PHP есть такая же говноособенность как в JS
gegMOPO4 31.01.2011 15:34 # 0
bugmenot 31.01.2011 16:36 # 0
artureg 31.01.2011 18:48 # 0
artureg 31.01.2011 18:58 # 0
это же можно до бесконечности дебажить и так и не найти ошибку)
burdakovd 21.04.2011 18:27 # 0
bugmenot 21.04.2011 18:41 # 0
Lure Of Chaos 21.04.2011 20:31 # 0
g0_1494089704500 26.03.2018 13:42 # 0
TOPT 26.03.2018 14:15 # 0
TOPT 26.03.2018 14:16 # 0
TOPT 26.03.2018 14:16 # 0
TOPT 26.03.2018 14:16 # 0
TOPT 26.03.2018 14:16 # 0
TOPT 26.03.2018 14:16 # 0
TOPT 26.03.2018 14:16 # 0
TOPT 26.03.2018 14:16 # 0
TOPT 26.03.2018 14:16 # 0
TOPT 26.03.2018 14:16 # 0
TOPT 26.03.2018 14:16 # 0
TOPT 26.03.2018 14:16 # 0
TOPT 26.03.2018 14:16 # 0
TOPT 26.03.2018 14:16 # 0
TOPT 26.03.2018 14:16 # 0
TOPT 26.03.2018 14:16 # 0
TOPT 26.03.2018 14:17 # 0
TOPT 26.03.2018 14:17 # 0
TOPT 26.03.2018 14:17 # 0
TOPT 26.03.2018 14:17 # 0
TOPT 26.03.2018 14:17 # 0
TOPT 26.03.2018 14:17 # 0
TOPT 26.03.2018 14:17 # 0
TOPT 26.03.2018 14:17 # 0
TOPT 26.03.2018 14:17 # 0
TOPT 26.03.2018 14:17 # 0
TOPT 26.03.2018 14:17 # 0
TOPT 26.03.2018 14:17 # 0
TOPT 26.03.2018 14:17 # 0
TOPT 26.03.2018 14:17 # 0
TOPT 26.03.2018 14:17 # 0
TOPT 26.03.2018 14:17 # 0
TOPT 26.03.2018 14:17 # 0
TOPT 26.03.2018 14:17 # 0
TOPT 26.03.2018 14:17 # 0
TOPT 26.03.2018 14:17 # 0
TOPT 26.03.2018 14:17 # 0
TOPT 26.03.2018 14:17 # 0
TOPT 26.03.2018 14:17 # 0
TOPT 26.03.2018 14:17 # 0
TOPT 26.03.2018 14:17 # 0
TOPT 26.03.2018 14:17 # 0
TOPT 26.03.2018 14:17 # 0
TOPT 26.03.2018 14:17 # 0
TOPT 26.03.2018 14:17 # 0
TOPT 26.03.2018 14:17 # 0
sectus 31.01.2011 05:23 # 0
Brand 31.01.2011 08:43 # 0
Brand 31.01.2011 09:40 # −1
telnet 31.01.2011 10:03 # +1
Lure Of Chaos 31.01.2011 14:59 # −1
gegMOPO4 31.01.2011 15:35 # +1
Lure Of Chaos 31.01.2011 15:36 # −1
telnet 31.01.2011 15:44 # +1
Lure Of Chaos 31.01.2011 15:48 # −1
но если взять абстрактные a,b,c, где с изменяет a и b (но не крешит), ленивость не играла бы роли.
gegMOPO4 31.01.2011 15:48 # +1
TOPT 26.03.2018 14:20 # 0
TOPT 26.03.2018 14:21 # 0
TOPT 26.03.2018 14:21 # 0
TOPT 26.03.2018 14:21 # 0
TOPT 26.03.2018 14:21 # 0
TOPT 26.03.2018 14:21 # 0
TOPT 26.03.2018 14:21 # 0
TOPT 26.03.2018 14:21 # 0
TOPT 26.03.2018 14:21 # 0
TOPT 26.03.2018 14:21 # 0
TOPT 26.03.2018 14:21 # 0
TOPT 26.03.2018 14:21 # 0
TOPT 26.03.2018 14:21 # 0
TOPT 26.03.2018 14:21 # 0
TOPT 26.03.2018 14:21 # 0
TOPT 26.03.2018 14:21 # 0
TOPT 26.03.2018 14:21 # 0
TOPT 26.03.2018 14:21 # 0
TOPT 26.03.2018 14:21 # 0
TOPT 26.03.2018 14:21 # 0
TOPT 26.03.2018 14:21 # 0
TOPT 26.03.2018 14:22 # 0
TOPT 26.03.2018 14:22 # 0
TOPT 26.03.2018 14:22 # 0
TOPT 26.03.2018 14:22 # 0
TOPT 26.03.2018 14:22 # 0
TOPT 26.03.2018 14:22 # 0
TOPT 26.03.2018 14:22 # 0
TOPT 26.03.2018 14:22 # 0
TOPT 26.03.2018 14:22 # 0
TOPT 26.03.2018 14:22 # 0
TOPT 26.03.2018 14:22 # 0
TOPT 26.03.2018 14:22 # 0
TOPT 26.03.2018 14:22 # 0
TOPT 26.03.2018 14:22 # 0
TOPT 26.03.2018 14:22 # 0
TOPT 26.03.2018 14:22 # 0
TOPT 26.03.2018 14:22 # 0
TOPT 26.03.2018 14:22 # 0
TOPT 26.03.2018 14:22 # 0
TOPT 26.03.2018 14:22 # 0
TOPT 26.03.2018 14:23 # 0
TOPT 26.03.2018 14:23 # 0
TOPT 26.03.2018 14:23 # 0
TOPT 26.03.2018 14:23 # 0
TOPT 26.03.2018 14:24 # 0
TOPT 26.03.2018 14:24 # 0
TOPT 26.03.2018 14:24 # 0
TOPT 26.03.2018 14:24 # 0
TOPT 26.03.2018 14:24 # 0
TOPT 26.03.2018 14:24 # 0
TOPT 26.03.2018 14:24 # 0
TOPT 26.03.2018 14:24 # 0
TOPT 26.03.2018 14:24 # 0
TOPT 26.03.2018 14:24 # 0