Архив на категорию : 'Продвинутый php'

avatar

Бывают такие ситуации, когда несколько методов выполняют одни и те же действия, но с разными значениями внутри. Например, один метод увеличивает значение стоимости товара на 10, а другой - на 30 единиц. И тут конечно лучше было бы создать просто один метод, но для разных значений, который принимал бы параметр, сколько прибавлять единиц к стоимости - 10 или 30, а может и 50 и т.д. Отсюда и название приема - параметризация метода.

продолжение статьи

avatar

Некоторые (особенно начинающие или неопытные) разработчики хранят в массивах разнородную информацию. Например:

продолжение статьи

avatar

Иногда в исходном коде выражения бывают настолько сложными, что если даже и мы их написали, то по прошествии какого-то времени не можем понять, что мы имели в виду в том или ином участке кода.

Например, рассмотрим следующее выражение (правда, оно не настолько сложное, но выражения посложнее я покажу далее):

if ((strpos(strtoupper($platform), "MAC") !== false) &&
    (strpos(strtoupper($browser),  "IE")  !== false) &&
     wasInitialized() && $resize > 0 ) {
        // что-то делаем ...
}

продолжение статьи

avatar

Представим себе такую ситуацию… Есть у нас метод (функция-член класса), в котором довольно много строк кода. И этот код использует локальные переменные таким образом, что невозможно применить прием группировки кода в отдельную функцию.

продолжение статьи

avatar

Приведем примеры этого приема, описанного в предыдущей статье.

Пример без локальных переменных

продолжение статьи

avatar

Вот и настал черед рассмотрения такого приема, как «Группировка кода в отдельную функцию». Или, его можно еще назвать «Выделение метода».

продолжение статьи

avatar

Продолжаем тему рефакторинга, и сегодня рассмотрим такой прием, как замена временной переменной методом (функцией).

продолжение статьи


Страница 2 из 41234


© Copyright. . I-Novice. All Rights Reserved. Terms | Site Map