Запись IF ELSE для удобочитаемости. PHP.

12
[Удален]
#11
DeveloperRu:
каждая из которых может быть "тяжелой"

увидел только "return"ы и "if"ы, вы про какие функции?

индусы делают так

while(true)
{

if($a = 10) break;
}

это метод предложенный про много ифов внутрии функции, а это хоть где)

bearman добавил 07.02.2010 в 21:00

когда 10 переменных длжны иметь 10 состояний - может стоит поменять архитектуру? ;)

Ayavryk
На сайте с 11.10.2003
Offline
209
#12

Удобочитаемость для кого?

Если для вас -= то делайте как вам более читаемо. Если для меня -так я динозавр, привыкший к алгольной нотациия, если коллегам - то, наверное мерзкую C-подобную конструкцию

Тынгыр, мынгыр, комсомол (http://erum.ru). Ехари, ехари, (жалобно) аяврик. /народная тунгусская песня/
M
На сайте с 11.06.2008
Offline
13
#13
DeveloperRu:
иногда и на несколько порядков, ведь по-вашему стилю, процессору придется отрабатывать на каждом IF не только лишние сравнения простых типов, но и лишние вызовы функций, каждая из которых может быть "тяжелой"

я может быть туплю, но обяъсните мне почему код:


if ($a != 5) { return false; }
if ($b != 10) { return false; }
return true;

будет работать медленнее чем


if ($a == 5) {
if ($b == 10){
return true;
} else {
return false;
}
} else {
return false;
}

видимо я упустил из виду что-то глобальное?))

satrau
На сайте с 08.11.2009
Offline
12
#14

Его величество эксперимент


$a = microtime( 1 );
//---------
for ($i=0; $i < 100000; $i++) {
for ($i=0; $i < 100000; $i++) {
if ($k != 5.2) { $k = 3; } ;
if ($k != 10.2) { $k = 3; };
};
$k = 3;
}
//-------------
$b = microtime( 1 );
$c = microtime( 1 );
//---------
for ($i=0; $i < 100000; $i++) {
for ($i=0; $i < 100000; $i++) {
if ($k == 5.2) {
if ($k == 10.2){
$k = 3;
} else {
$k = 3;
}
} else {
$k = 3;
}
}
}
//-------------
$d = microtime( 1 );
echo 'разность: '.($b - $a )/($d - $c ).'<br / >' ;
echo 'первый вариант: '.($b - $a ).'<br / >' ;
echo 'второй вариант: '.($d - $c ).'<br / >' ;

/* пример результата
разность: 1.58832826748
первый вариант: 0.0311470031738
второй вариант: 0.0196099281311
*/

результаты около - 1.58832826748

Т.е ровно в столько раз первый способ медленнее :).

ps/ знаю что эксперимент неочень корректный, но всеже.

Россошь (http://www.flash9.ru)
[Удален]
#15
satrau:
Стал жертвой злой шутки - не шутите над чайниками, они не понимают, что делают

это вам пару недель назад в этой ветке загрузчик винды снесли? :D

M
На сайте с 11.06.2008
Offline
13
#16

satrau, ваш эксперимент показывает только то, что вызовы функции rand() длятся разное время :)

satrau
На сайте с 08.11.2009
Offline
12
#17
Megazoid:
satrau, ваш эксперимент показывает только то, что вызовы функции rand() длятся разное время :)

убрал rand - результат практически тотже.

bearman - нехочу вспоминать про тот топик добра :)

M
На сайте с 11.06.2008
Offline
13
#18

satrau, ну хорошо, убедили

теперь буду всем советовать писать сверх-быстрый говнокод :D

satrau
На сайте с 08.11.2009
Offline
12
#19

Спасибо, а то надоели тормоза оперы, фаерфокса, винды, вордпреса, 1с, игр, моего смартфона, винампа, двд и всего остального :)

Даешь сверхбыстрый говнокод! :) - шютка - баланс лучше всего.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий