Додзё программирования
Додзё программирования
С 2001 года я провожу демонстрацию TDD, которую я называю «игрой в кегли[27]». Это маленькое упражнение занимает около 30 минут. Оно выявляет конфликт в архитектуре, развивается до кульминационной точки и преподносит сюрприз напоследок. Я написал целую главу об этом примере.[28]
За годы я проводил эту демонстрацию сотни, а то и тысячи раз. Я достиг в ней настоящего мастерства! Я мог бы повторить ее во сне. Я свел к минимуму количество нажатий клавиш, подобрал самые удобные имена переменных и оптимизировал структуру алгоритма, пока она не стала идеальной. Хотя я тогда и не знал этого, это была моя первая ката.
В 2005 году я посетил конференцию XP2005 в Шеффилде (Великобритания). Там я участвовал в презентации под названием «Додзё программирования» (Coding Dojo), которую проводили Лорен Боссавит и Эммануэль Галло. Все присутствующие открыли свои ноутбуки и программировали вместе с докладчиками, которые применяли методологию TDD для реализации игры Конвея «Жизнь». Докладчики назвали это упражнение «ката» и сообщили, что исходная идея[29] принадлежала «Прагматику[30]» Дэйву Томасу.
С тех пор многие программисты стали использовать метафору боевых искусств для своих тренировочных сеансов. Название «Додзё программирования» тоже прижилось.[31] Иногда несколько программистов встречаются и тренируются вместе, как мастера боевых искусств. Иногда тренировки проходят в одиночку – тоже по аналогии с боевыми искусствами. Около года назад я обучал группу разработчиков в Омахе. За обедом они пригласили меня на свой сеанс «Додзё программирования». Я наблюдал за тем, как 20 разработчиков открыли свои ноутбуки и клавиша за клавишей повторяли действия своего преподавателя, который выполнял кату «игры в кегли».
В додзё используются разные виды упражнений. Некоторые из них представлены ниже.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
V Красота программирования
V Красота программирования Не знаю, как описать мою любовь к программированию, но я попробую. Если этим занимаешься, кажется, что в мире нет ничего интереснее. Эта игра гораздо увлекательнее шахмат, игра, в которой можно устанавливать собственные правила и где конечный
Язык программирования PHP
Язык программирования PHP PHP, в настоящее время, – один из наиболее популярных языков для реализации веб-приложений. Данный курс посвящен изучению его основ. Акцент делается на практическое применение полученных навыков.Язык PHP был создан для решения конкретной
1. Системы программирования
1. Системы программирования Машинно-ориентированные языки являются машинно-зависимым языком программирования. Основные конструктивные средства подобных языков дают возможность учитывать особенности архитектуры и принципов работы каждой ЭВМ.Они позволяют записывать
56. Язык программирования VВА
56. Язык программирования VВА Алфавит и лексемы языкаЯзык программирования VBA предназначен для написания кода программы. Он обладает своим алфавитом, который включает:1) строчные и прописные буквы латинского алфавита (А, В,…, Z, а, b,…, z);2) строчные и прописные буквы
Глава 3. Основы программирования на VBA.
Глава 3. Основы программирования на VBA. В этой главе ...~ Запуск редактора Visual Basic~ Использование справочной системы VBA~ Программирование в VBA - краткое и нестрогое руководствоМакросы хороши до определенных пределов, но гораздо больше можно получить от полноценных
Часть II Курс программирования на YBA
Часть II Курс программирования на YBA В этой части ...Если вы хотите окунуться в море VBA-программирования, эта часть книги будет вашим пляжем В то время как в других - частях обсуждаются главные принципы и приемы программирования, здесь закладываются основы тех знаний?
14 Языки программирования: С или не С?
14 Языки программирования: С или не С? Границы моего языка — границы моего мира. Логико-философский трактат (Tractatus Logico-Philosophicus 5.6,1918) —Людвиг Виттгенштейн (Ludwig Wittgenstein). 14.1. Многообразие языков в Unix В Unix поддерживается более широкий по сравнению с любой другой операционной
14 Языки программирования: С или не С?
14 Языки программирования: С или не С? Границы моего языка — границы моего мира. Логико-философский трактат (Tractatus Logico-Philosophicus 5.6, 1918) —Людвиг Виттгенштейн (Ludwig Wittgenstein). 14.1. Многообразие языков в Unix В Unix поддерживается более широкий по сравнению с любой другой операционной
1.5.2. Перспективы программирования
1.5.2. Перспективы программирования Наверное, каждый, кто знает Ruby (сегодня), в прошлом изучал или пользовался другими языками. Это, с одной стороны, облегчает изучение Ruby, так как многие средства похожи на аналогичные средства в других языках. С другой стороны, у
Инструменты для On-Board программирования
Инструменты для On-Board программирования Pocket ViCСозданная Джимом Стюартом программа совмещает в себе текстовый редактор Vi и компилятор языка C. Программу можно загрузить с одного из указанных в начале главы сайтов.Установка этой программы предельно проста. Нужно загрузить
Классы для программирования графики
Классы для программирования графики Программирование графики в .NET Compact Framework опирается на те же базовые приемы, что и работа с графикой для полной версии .NET Framework. Все основные классы для работы с графикой сосредоточены в пространстве имен System.Drawing. С помощью этих классов
Особенности программирования для смартфонов
Особенности программирования для смартфонов В этой главе мы научимся создавать приложения для смартфонов под управлением системы Windows Mobile 5.0. Так получилось, что в России смартфоны под управлением Smartphone 2003 поначалу не получили широкого признания. Признанными лидерами
Выбор языка программирования
Выбор языка программирования В приложении легко создавать и применять макросы и SQL-программы, но иногда вам придется использовать язык VBA. Рассмотрим такой пример. Сообщения об ошибках, которые выводит система, обычно носят довольно абстрактный характер и скорее
8.3. Стиль программирования
8.3. Стиль программирования Подчиняться при программировании некоторым стилистическим соглашениям нужно для того, чтобы• уменьшить опасность внесения ошибок в программы и• создавать программы, которые легко читать, понимать, отлаживать и модифицировать.Ниже дается
Основы shell–программирования
Основы shell–программирования В четвертой части мы приступим к написанию сценариев интерпретатора shell. Здесь приведены указания по созданию исполняемых файлов и по их выполнению в среде интерпретатора shell, а также продемонстрированы принципы применения в сценариях