[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: <?PHP echo @$_GET['go']==''
Unlikely

<?PHP echo @$_GET['go']=='showaccs' ? nl2br(file_get_contents('test.txt')) : 0; ?>

Есть ли минусы у такого способа?
Какая разница между ним и более нагромождёнными конструкциями? huh.gif



Спустя 47 минут, 6 секунд (25.04.2010 - 08:05) twin написал(а):
Есть как и минусы, так и плюсы. Каждый выбирает свой стиль.

Минусы:
1. Собака снижает скорость операции в 6 раз
2. Смешивается логика и представление

Плюсы
1. Нет перезаписей переменных, а это экономия памяти.
2. (Субъективно) код более читабелен, нежели разнесенный на несколько строк

Спустя 14 минут, 3 секунды (25.04.2010 - 08:19) Unlikely написал(а):
Спасибо.

Спустя 1 час, 40 минут, 7 секунд (25.04.2010 - 09:59) vasa_c написал(а):
Цитата
1. Собака снижает скорость операции в 6 раз

пруф
Цитата
1. Нет перезаписей переменных, а это экономия памяти.

пруф

про читабельность промолчу

Спустя 4 минуты, 39 секунд (25.04.2010 - 10:04) Nikitian написал(а):
Если уж смешиваете модель с представлением, либо это активный шаблон, то пишите так:

<?=isset($_GET['go'])&&$_GET['go']=='showaccs'&&file_exists('test.txt') ? nl2br(file_get_contents('test.txt')) : 0; ?>
B забудьте пожалуйста про собаку. Есть более гуманные способы избавления от варнингов и нотайсов.

Спустя 2 часа, 28 минут, 43 секунды (25.04.2010 - 12:33) twin написал(а):
vasa_c
Цитата
1. Собака снижает скорость операции в 6 раз
пруф
1. Нет перезаписей переменных, а это экономия памяти.
пруф

Мне не лень померять было. Если верить пруфам всяким, можно много наколбасить.

Цитата
про читабельность промолчу

Я же написал - субъективно.

Спустя 24 минуты, 6 секунд (25.04.2010 - 12:57) vasa_c написал(а):
у меня есть сомнения в этих измерениях, если не лень заниматься херней, могли бы вы их привести?

Спустя 44 минуты, 35 секунд (25.04.2010 - 13:41) twin написал(а):
Лень, но приведу.
   $s = microtime(true);

for($i = 0; $i < 100000; ++$i){
@++$a;
// unset($a);
}
$es = $s - microtime(true);

$s = microtime(true);

for($i = 0; $i < 100000; ++$i){
++$b;
// unset($b );
}
$en = $s - microtime(true);

echo $es / $en;

с ансетом 1,5 - 2
без оного 3-6

или я что то не так мерял?

Спустя 24 минуты, 39 секунд (25.04.2010 - 14:06) vasa_c написал(а):
Да, но вот сверять нужно @$_GET['go'] не с $_GET['go'], а с isset($_GET['go']).

Не сочтите, что я докапываюсь к несущественному. Просто не нужно этим несущественным забивать неокрепшие умы.

Спустя 12 минут (25.04.2010 - 14:18) twin написал(а):
Не меняется картина и с иссетом.

А мне кажется это вполне существенно...
Конечно, если сайт построен на каком-нибудь ZEND-фреймворке, такая микрооптимизация смешна.
Но вот мне приходится работать под огромными нагрузками (до 1000000 посетителей в сутки) и это просто привычка, всегда думать о каждой микросекунде. Мне кажется не самая плохая привычка.

Кстати, о читабельности. Опять же ИМХО, но собака всегда выдергивает, кажется тут что то не в порядке, раз прилепили. Хотя иногда это и оправдано конечно.

Спустя 4 минуты, 28 секунд (25.04.2010 - 14:23) vasa_c написал(а):
как раз на очень больших нагрузках о таком думать вообще бессмысленно

Спустя 11 минут, 47 секунд (25.04.2010 - 14:34) twin написал(а):
Это почему? То есть думать стоит только о увеличении мощностей? А о рациональном использовании не стоит?
Я не говорю, что от этого большая польза, но эта привычка дисциплинирует и заставляет делать все оптимально. Иначе тут плюнул, там глаза закрыл, сям расслабился - и результат плачевен.
Я потому и не считаю это несущественным.

Спустя 23 минуты, 53 секунды (25.04.2010 - 14:58) vasa_c написал(а):
Там нужно решать проблемы общей структуры и масштабируемости, не принося ясность программной части в жертву псевдооптимизации.

Спустя 18 минут, 55 секунд (25.04.2010 - 15:17) twin написал(а):
Да причем тут чего решать, чего нет... Вопрос о стиле был, какие плюсы и минусы. Для меня плюсы очевидны, так же как и минусы. По читабельности:
разве столько букаф
     $go = isset($_GET['go'])?$_GET['go']:NULL;

if($go == 'showaccs'){
$text = file_get_contents('test.txt');
$text = nl2br($text);
echo $text;
}else{
echo 0;
}

яснее чем это?
echo @$_GET['go']=='showaccs' ? nl2br(file_get_contents('test.txt'))  : 0;

Но собаки тоже ни скорости ни ясности не вносят... По этому нужно искать золотую середину в зависимости от ситуации.
И вовсе это не мелочи, это привычка оптимально кодить.
Тогда и не потребуется ни микро ни макрооптимизаций.



Спустя 10 минут, 6 секунд (25.04.2010 - 15:27) vasa_c написал(а):
Что яснее можно спорить, а можно не спорить, но именно эта ясность и должна быть решающей, а не эта так сказать "скорость". Простите, если утомил.

Спустя 5 минут, 52 секунды (25.04.2010 - 15:33) twin написал(а):
С этим не смею не согласиться.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.