singalen: (Default)
[personal profile] singalen
План мероприятия по-русски.

Оно в эту субботу, кстати.

Аудитория: миддлы-сеньоры.

1. (игра: 15 мин) колупаемся в грязи: различи запах кода.
(образцы включены)

2. Вопросы и ответы Майкла Физерса. А вы точно знаете все его ответы? [1]
2.1. (ведение: 30 мин)
2.2. (обсуждение: 20 мин)

3. (10 мин) Кофе.

4. (работа в командах: 1 ч) Наши приёмы и инструменты. Знаете ли Вы, какими способами Ваш товарищ исследоует код и составляет тесты?
Найди баг/реализуй мини-фичу.

5. (45 мин) Пицца, перекур.

6. (30 мин: обсуждение): Почему мы пишем легаси код. Философия. Плач.

6. Запахи тестов
6.1. (игра: 15 мин) Определи, чем пахнет тест.
6.2. (работа в командах: 45 мин) Тестируем незнакомый легаси-код.
(образцы включены)
6.3. А что сказал бы Физерс?

7. (работа в командах: 45 мин) Предложи рефакторинг. Эстимируй его. Обсуждение.
(образцы включены, в т.ч. диаграммы больших систем)

8. (1.5 ч) Расскажите о своём случае. Пожалуйста, используйте наш новый словарь.
8.1. (?) Ещё пива?
8.2. (?) Афтерпати.


[1] Вопросы и ответы Физерса:
Вопросы попроще:
* I need to make a change, but I don't know what tests to write
* I can't get this class/method into a test harness

Вопросы посложнее и побольнее:
* I don't have much time and I have to change it
* It takes forever to make a change
* We feel overwhelmed. it isn't going to get any better


[2] Физические требования к участникам:
* прийти;
* принести ноутбук с SDK и любимым IDE для чего-то из: C/C++/Java/C# - или сказать мне, что у вас нет, но Вы придёте. Тогда, может, договоримся за загашник.

Требования к разуму участников:
Владеть словарями:
* паттернов хотя бы GoF;
* рефакторингов;
* восстановить в памяти фаулеровские запахи кода (http://wiki.java.net/bin/view/People/SmellsToRefactorings );
* ознакомиться с запахами xUnit-тестов (http://xunitpatterns.com/Test%20Smells.html );
* Знать, что такое диаграмма класов UML;

Литература
[Legacy] "Working Effectively with Legacy Code", Michael C. Feathers, ISBN: 0-13-117705-2
[xUnit] "xUnit test patterns", Gerard Meszaros, http://www.ozon.ru/context/detail/id/4127815/, ISBN: 978-5-8459-1448-4, 978-0-13-149505-0