Суть этого приема состоит в том, чтобы заменить один алгоритм на другой, который содержит меньше повторяемого кода.
Сразу перейдем к примеру.
Допустим, у нас есть следующая функция, которая ищет в массиве нужных людей, и, если находит, возвращает имя человека, а если не находит – возвращает пустую строку:
<?
…
function findPerson($people) {
foreach ($people as $person) {
if ($person == 'Alex') {
return 'Alex';
}
if ($person == 'Michael') {
return 'Michael';
}
if ($person == 'Sergey') {
return 'Sergey';
}
}
return '';
}
…
?>
Читать далее »
Сен 25, 2008 | Автор :
Novice | Нет комментариев
Начну с того, что в случае, когда мы изучаем какую-нибудь новую технологию, которая увеличивает нашу продуктивность, сложно увидеть, когда эта технология не работает. Потому что мы ее только еще изучаем и не знаем всех аспектов. Обычно мы изучаем ее на примере какого-нибудь небольшого проекта, а это дает нам мало пищи для размышлений.
Например, возьмем объекты из ООП. Раньше, когда они только-только появились, было сложно представить случаи, когда их нежелательно использовать. Были видны в основном только преимущества.
Сейчас то же самое происходит с рефакторингом: мы знаем его преимущества, мы знаем, что рефакторинг может внести ощутимую пользу в нашу работу. Но, мне кажется, мало кто пытается осознать, какие недостатки у него есть. А таковые есть и мы сейчас поговорим о них. Ведь чем больше мы изучаем технологию, тем больше ее проблем мы сможем решить, тем больше проблем мы узнаем, которые не поддаются решению вообще.
Читать далее »
Сен 13, 2008 | Автор :
Novice | Нет комментариев