План мероприятия по-русски.
Оно в эту субботу, кстати.
Аудитория: миддлы-сеньоры.
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
Оно в эту субботу, кстати.
Аудитория: миддлы-сеньоры.
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
Tags: