Статьи

Как удалить геттеры и сеттеры

Методы получения и установки являются одним из первых этапов абстракции, который продуман для открытых полей в объектно-ориентированном программировании. Однако парадигма никогда не заключалась в инкапсуляции…
Статьи

Практический рефакторинг PHP: замените наследование делегированием

Когда подкласс нарушает принцип подстановки Лискова или использует только часть суперкласса, это предупреждающий знак того, что композиция может упростить конструкцию. Рефакторинг в композицию превращает суперкласс…
Статьи

Практический PHP-рефакторинг: замена вложенных условных выражений выражениями Guard

Мы согласны с тем, что полиморфизм исключает множество случаев, когда необходимы операторы if (). Однако, если у нас запутанная условная зависимость, лучше максимально упростить ее…
Статьи

Тестирование веб-приложений с Selenium

Существует много общих проблем для многих систем тестирования: они отличаются от реального клиента (в случае веб-приложений — браузера). Zend_Test , HttpUnit и подобные инструменты выполняют…
Статьи

Непрерывное образование для всех

Неважно, кто вы, сегодня день, чтобы узнать что-то новое. Вы обнаружили, что крутите свои колеса с чувством разочарования или отсутствия страсти к тому, что вы…
Статьи

Поиск ошибок проводки

Лучший способ масштабировать набор тестов до сотен классов и поддерживать его в течение нескольких лет — это сосредоточиться только на модульных тестах для определения и…
Статьи

Groovy-параллелизм в действии: асинхронные пулы ресурсов с Groovy ++

Параллельный обмен сообщениями — очень удобный инструмент для создания высокопроизводительных приложений. Грубо говоря, идея состоит в том, что мы стараемся избегать блокировки потоков при ожидании…
Статьи

Как настроить технику Pomodoro в вашем офисе

Pomodoro Technique — это современный метод управления временем, основанный на коротких, интенсивных и синхронизированных периодах внимания, который называется Pomodoros. Вот руководство, рассказывающее о моем опыте…
Статьи

Практический рефакторинг PHP: Hide Delegate

Код клиента вызывает метод для коллаборатора (делегата) другого объекта, полученного геттером или другой последовательностью вызовов. Hide Delegate — это соблюдение закона Деметры : не разговаривайте…