Рассмотрим сегодня такую технику рефакторинга, как разделение функции на две части: одну - для модификации чего-то, вторую - для возвращения значения. Т.е. если у нас есть функция, которая и возвращает результат, и что-то делает с переданным параметром, то лучше ее разделить на две функции, одна из которых что-то возвращала бы, а вторая - что-то принимала бы и выполняла бы какие-то видимые действия.
продолжение статьи
Автор :
Novice | Нет комментариев
Начнем с того, что сформулируем такое правило: аргументы функций нельзя модифицировать. Это путает того, кто читает Ваш код.
Вот, например, рассмотрим следующий кусок кода:
<?
function fn($val, $qty, $year) {
if ($val > 70) $val -= 2;
...
?>
Как видим, тут кто-то взял и изменил значение аргумента функции (наверно, я ). Причем заметим, что в PHP без явного указания аргументы всегда передаются по значению, а не по ссылке. Если по правилу, то мы должны были сделать вот так:
<?
function fn($val, $qty, $year) {
$res = $val;
if ($val > 70) $res -= 2;
...
?>
продолжение статьи
Автор :
Novice | 2 Комментариев
Суть этого приема состоит в том, чтобы заменить один алгоритм на другой, который содержит меньше повторяемого кода.
Сразу перейдем к примеру.
Допустим, у нас есть следующая функция, которая ищет в массиве нужных людей, и, если находит, возвращает имя человека, а если не находит - возвращает пустую строку:
<?
…
function findPerson($people) {
foreach ($people as $person) {
if ($person == 'Alex') {
return 'Alex';
}
if ($person == 'Michael') {
return 'Michael';
}
if ($person == 'Sergey') {
return 'Sergey';
}
}
return '';
}
…
?>
продолжение статьи
Автор :
Novice | Нет комментариев
Этой статьей я начинаю рассматривать различные приемы рефакторинга. Сегодня рассмотрим то, как правильно обращаться с переменными, а именно: как избавиться от временных переменных.
продолжение статьи
Автор :
Novice | Нет комментариев
Рефакторинг зачастую влияет на производительность. Чтобы сделать программный код или саму программу удобной для понимания, мы иногда вынуждены делать такие изменения, которые заставят работать программу медленнее, чем раньше.
продолжение статьи
Автор :
Novice | 1 Комментарий
Совсем недавно у нас появился новый раздел “Продвинутый php”, который фактически символизирует переход на следующую ступень на нашем пути от новичков до профессионалов В связи с таким качественных переходом, будет несправедливо не затронуть тему имеющую непосредственной отношение к программированию на php – проектированию базы данных.
продолжение статьи
Автор :
Novice | 24 Комментариев
Начну с того, что в случае, когда мы изучаем какую-нибудь новую технологию, которая увеличивает нашу продуктивность, сложно увидеть, когда эта технология не работает. Потому что мы ее только еще изучаем и не знаем всех аспектов. Обычно мы изучаем ее на примере какого-нибудь небольшого проекта, а это дает нам мало пищи для размышлений.
продолжение статьи
Автор :
Novice | Нет комментариев