|
Международный клуб веб-разработчиков PHPСLUB с 2003 года проводит конференции,
посвященные разнообразным аспектам применения веб-технологий.
И сотрудники нашей компании из года в год не оставляют
в стороне данное мероприятие. И не просто посещают его, а читают доклады и
проводят мастер-классы.
Вот и в этом году ведущие разработчики нашей компании
Павел Щеваев и Сергей Юдин отбыли на неделю в столицу нашей родины. В программе
пребывания вдали от рабочих мест было два основных мероприятия:
Событие номер один - Мастер-класс.
Экстремальное программирование в PHP: Разработка через тестирование(TDD) и
гибкие методики разработки ПО с использованием PHP.
Практика создания модульных
и приемочных тестов для web-приложений, использование SimpleTest и Selenium,
практики ООП, облегчающие тестирование и способствующие формированию хорошей
архитектуры приложений, использование мок-объектов и многое другое
Программа:
- Краткий экскурс в TDD, гибкие методики. Кратко
связь test-first разработки, рефакторинга и простого дизайна.
- SimpleTest и PhpUnit3. Достоинства и недостатки.
- Установка тестовой среды. Первые тесты. Пример
создания кода в стиле TDD. Основные принципы TDD на практике.
- Организация тестовой среды для тестирования больших
приложений.
- Тестирование операций, связанных с базой данных.
- Мок-объекты. Ручное создание мок-объектов. Автоматическая
генерация мок-объектов. Использование мок-объектов из SimpleTest.
Правильное использование мок-объектов. Внедрение мок-объектов в тестируемый
код.
- Приемочное тестирование. Использование Selenium,
Selenium RC и SimpleTest WebTester.
- Тестирование отправки почты. Использование FakeMail
и FakeMailDemon.
- Оценка покрытия кода тестами (Test Coverage) в
PHP
- Постоянная интеграция (Continuous Integration)
в PHP
- Влияние тестирования на дизайн кода. Принципы ООП,
облегчающие модульное тестирование. Кратко.
- Рефакторинг и связь рефакторинга и тестирования.
Рекомендации по написанию тестов, которые легко читать и поддерживать.
Рефакторинг тестов.
- Примеры безопасного рефакторинга.
Ведущие мастер-класса: |
Щеваев Павел Александрович и Юдин Сергей Юрьевич,
Основные разработчики Limb PHP Framework (http://limb-project.com/),
программисты компании BIT (http://bit-creative.com/),
активные участники open-source проектов WACT, SimpleTest, FakeMail и
некоторых других, огранизаторы проекта AgileDev (http://agiledev.ru/).
Обладают опытом разработки через тестирование (TDD) более 3 лет, опытом
веб-разработок с применением ООП - более 5 лет. |
Чуть больше информации можно почерпнуть здесь (http://www.phpconf.ru/programm2007.html#mklass)
Событие номер два - 6-я Международная конференция "Современные технологии
эффективной разработки веб-приложений с использованием PHP" (http://www.phpconf.ru/programm.html)
Нашими ребятами было представлено 2 доклада:
Аспектно-ориентированное программирование(AOP) в PHP
Щеваев Павел [pachanga]
ведущий мастер-классы по экстремальному программированию,
основатель проекта agiledev.ru (http://agiledev.ru/)
ведущий разработчик проекта Limb (http://limb-project.com/).
Тезисы
- Введение в AOP: разделение программной логики на качественно новом уровне
- Примеры использования AOP в реальных приложениях
- Существующие решения для PHP: phpAspect, aoPHP, aspectPHP
- Еще одна «серебряная пуля»? (Подводные камни AOP, использование стандартных
OOP средств вместо AOP)
Управление зависимостями в программном коде
Юдин Сергей [syfisher]
ведущий мастер-классов по экстремальному программированию,
один из основателей проекта agiledev.ru (http://agiledev.ru/),
ведущий разработчик проекта Limb (http://limb-project.com/).
Тезисы
- Постановка общей проблемы зависимостей в коде (влияние зависимостей на
качество кода, трудозатраты на поддержку зависимостей)
- Делаем код более гибким: инверсия и инъекция зависимостей в коде
- Формы инверсии и инъекции зависимостей (Dependency Injection, Service Locator)
- IoC контейнеры
- Обзор существующих решений для PHP: PicoContainer, Phemto, lmbToolkit
О том как были восприняты мастер-классы и доклады можно судить по отзывам,
которые нам удалось «выцепить» из обсуждения результатов конференции (http://phpclub.ru/talk/showthread.php?s=&threadid=99577)
По докладу Павла Щеваева "Аспектно-ориентированное программирование
(AOP) в PHP"
…Наверное самый неоднозначный (в хорошем смысле)
доклад конференции. Нам рассказали сказку про идеальный мир. Сказку про красивую
технологию. Сказку про вещь, которая не работает и не будет работать.
Очень хороший, интересный докладчик. Очень интересная (идеологически) тема.
Очень хороший материал.
В кулуарах этот доклад вызвал много дискуссий. При чем именно полноценных
дискуссий, что редкость для конференции. Дискуссии заключались в том, что
люди мечтали "как оно могло бы быть", и вот это самое "мечтание"
было у всех разное…(http://bad-pig.livejournal.com/6770.html)
…Отличный доклад. Все по полочкам. Слайды об идеальном мире сразу подняли
настроение….Отличная понятная и простая подача материала. Даже несмотря на
то, что сфера применения АОП пока видится очень специфичной, все равно было
очень приятно послушать… (http://phpclub.ru/talk/showthread.php?postid=721386#post721386
)
…Интересный доклад, докладчик также проявил себя с лучшей стороны, добавил
нотки юмора в общем-то серьезную тему. Многим другим докладчикам, кстати, этого
не хватало… (http://phpclub.ru/talk/showthread.php?postid=720288#post720288 )
По докладу Сергея Юдина «Управление зависимостями в программном
коде»
...Хороший доклад. Правда, тема довольно серьезная и к концу дня воспринималась
довольно сложно. Но в целом все было понятно…(http://phpclub.ru/talk/showthread.php?postid=720288#post720288)
…Доклад получился насыщенным, но требующим определенного уровня подготовки
от слушателей. Некоторые вещи я бы не понял, если бы не посетил мастер-класс
syfisher'а (Сергей Юдин) и pachang'и (Павел Щеваев) по экстремальному программированию, который
проводился в рамках конференции несколькими днями раньше. Мастер-класс удался
на славу, сэкономил мне кучу времени на изучение TDD (разработки на основе
тестирования). В ближайшее время планирую внедрить этот подход на практике,
предварительно подтянув коллег...(http://djsv.livejournal.com/25383.html )
…Могу добавить про мастер-класс по TDD. Его как раз вели Щеваев и Юдин - это
было настоящее "зло", в хорошем смысле этого слова ;) Жалко, что в
мой конторе такие методики разработки пока не применимы… (http://bad-pig.livejournal.com/6770.html?thread=13170#t13170
)
…Очевидно, первому потоку повезло в 3.14*2.7 раз больше - он получил неоценимый
практический опыт в реализации разработки через тестирование. Несмотря на то,
что [pachanga] (Павел Щеваев) и [syfisher] (Сергей Юдин) всячески отнекивались,
мол, знаем мы много, да вот рассказывать получается плохо, их мастер-класс –
это поистине шедевр… (http://phpclub.ru/talk/showthread.php?postid=719366#post719366
)
Более подробно о прошедшем мероприятии можно
прочитать на следующих сайтах:
|