Тема: О качестве кода
Привет!
Движок классный и работает как надо, только вот качество кода в некоторых местах не очень.
Хочу поделится некоторыми моментами.
В index.php, на строке 11 есть такой код:
list($usec, $sec) = explode(' ', microtime());
$s2_start = ((float)$usec + (float)$sec);
Ее можно заменить на:
$s2_start = microtime(true);
Зачем писать лишний код если функция это может сделать это за тебя :)
Мне смутило как hook'и подключаются:
($hook = s2_hook('idx_pre_redirect')) ? eval($hook) : null;
И так еще 6 раз в index.php (дальше index.php я не смотрел, но уверен что можно и там оптимизировать).
Можно все это в одну функцию положить, и потом вызывать там где надо:
function s2_eval_hook ($id) {
$hook = s2_hook($id);
return $hook ? eval($hook) : null;
}
И использовать ее так:
s2_eval_hook('idx_pre_redirect');
Есть еще момент в index.php на строке 69 что нужно получить содержание. Не беспокойтесь! Эта функция может возвращать значение:
$return = s2_eval_hook('idx_get_content');
Хотя я конечно против использование eval() так как это может быть небезопасно в некоторых ситуациях.
Функция s2_return_bytes можно сократить на это:
function s2_return_bytes ($val)
{
$val = trim($val);
$last = strtolower($val[strlen($val) - 1]);
switch($last)
{
case 'g':
case 'm':
case 'k':
$val *= 1024;
break;
}
return $val;
}
Там точно есть еще моменты которые можно оптимизировать, но я не буду их всех сразу выкладывать :)
Хочу посмотреть что скажет автор.
Спасибо за внимание!
P.S.: Я не в коем случае не хочу/хотел обосрать автора.
07.11.2014 21:16:11. Текст был изменен (volter9).