Читаем Постигая Agile полностью

Первоочередное тестирование модулей приводит к чрезмерно сложной сети промежуточных объектов и косвенным обращениям в запросе, чтобы избежать их медленной работы. Как попадание в базу данных. Или файловый ввод-вывод. Или тестирование в браузере всей системы. Это породило некоторых архитектурных монстров. Густые джунгли сервисных объектов, паттернов команд и много чего еще.

Я редко разрабатываю модульные тесты в традиционном смысле этого слова, где все зависимости являются смешными и тысячи тестов можно выполнить в считаные секунды.

Вам это описание знакомо? Должно быть, поскольку оно очень похоже на примеры кода «с душком», о котором вы узнали в этой главе. Модульные тесты подвержены точно таким же проблемам сложности, какие могут повлиять на любой код. Если вы поймаете себя на создании очень сложных модульных тестов, то вполне возможно, что вы попали в такую же ловушку, которую так хорошо сформулировал DHH.

DHH также отмечает важную особенность TDD.

Это было не так. Когда я впервые открыл для себя TDD, это было похоже на вежливое приглашение в лучший мир написания программного обеспечения.

Разум заставляет вас применять практику тестирования там, где тестирования никогда не было. TDD открыла для меня спокойствие, вызываемое хорошо протестированным кодом, и блаженство, с которым я мог вносить изменения в программное обеспечение.

Предваряющее тестирование было замечательным курсом тренировок, который научил меня думать о тестировании на более глубоком уровне, но который я быстро завершил.

Это отличный повод, чтобы попробовать TDD. Это поможет вам думать о тестировании на более глубоком уровне, как это делает Кент Бек в упомянутом сообщении на Facebook. Единственный ли это способ для реализации перечисленных в сообщении приемов? Нет. Но он очень эффективен и поэтому является очень важной частью XP.

Что вы можете сделать сегодня

Предлагаем несколько вариантов действий, которые вы можете предпринять уже сегодня (самостоятельно или вместе с командой).

• Если вы разработчик, то попробуйте сделать рефакторинг своего кода. Возможно, вы уже используете IDE, которая имеет встроенные инструменты рефакторинга. Сможете ли вы найти простой способ изменить структуру кода, с которым вы работаете сейчас, упростив его, но не меняя поведения?

• Посетите сайт WikiWikiWeb[76] и прочитайте страницу о коде «с душком». Можете ли вы найти подобный код у себя? Если нет, то всмотритесь внимательнее.

• Легко ли проверить ваш исходный код из системы управления версиями и собрать его? Если вам необходимо выполнить много различных действий, то попробуйте найти способ автоматизировать этот процесс при помощи скрипта сборки. Каждый шаг в сторону упрощения проверки и сборки делает вашу жизнь проще в долгосрочной перспективе.

• Вы уже пробовали разработку через тестирование? Нет? Попробуйте. Возьмите пользовательскую историю или функцию, которую вас просили создать. Перед тем как приступить к написанию кода, придумайте один-два теста для того модуля, который вы собираетесь написать. Вам не нужно увлекаться полным набором тестов. Достаточно одного или двух, а затем соберите код, который пройдет их.

Где вы можете узнать больше

Ниже перечислены ресурсы, которые помогут вам узнать больше об идеях, описанных в этой главе.

• Вы можете узнать больше о простоте, инкрементальной архитектуре и других целостных практиках в книге Кента Бека и Синтии Андрес Extreme Programming Explained: Embrace Change (Addison-Wesley, 2004).

• Можно узнать больше о рефакторинге в книге Мартина Фаулера, Кента Бека, Джона Бранта и Уильяма Апдайка «Рефакторинг. Улучшение существующего кода» (М.: Символ-Плюс, 2008).

• Узнайте больше о потоке и о том, как создавать более энергичную рабочую среду, в книге Тома Демарко и Тимоти Листера «Человеческий фактор. Успешные проекты и команды» (М.: Символ-Плюс, 2014).

Подсказки

Здесь мы предлагаем советы для agile-коучей, помогающих своей команде разрабатывать идеи этой главы.

Перейти на страницу:

Похожие книги

7 стратегий для достижения богатства и счастья (Золотой фонд mlm)
7 стратегий для достижения богатства и счастья (Золотой фонд mlm)

Джим Рон (Jim Rohn) – всемирно известный философ бизнеса. Разрабатывал стратегию работы компаний Coca-Cola, I.B.M., Xerox, General Motors и других. Был личным «бизнес-тренером» Билла Гейтса. Владеет контрольным пакетом акций Dodge. С 1996 года – Исполнительный Вицепрезидент Herbalife International. По его словам, в настоящее время самая перспективная и динамичная отрасль мировой экономики – Wellness Industry, индустрия здорового образа жизни, в которой и работает.Автор книги предлагает семь уникальных стратегий для достижения успеха. Взяв их на вооружение, вы сможете контролировать свое время и финансы, научитесь меняться и стремиться к знаниям, обретете заряд энергии и желание добиться цели, окружите себя победителями.

Джим Рон

Деловая литература / Философия / Образование и наука / Финансы и бизнес
Максимум
Максимум

Стать специалистом высочайшего уровня – вопрос не только и не столько природных способностей к тому или иному виду деятельности. Мы привыкли рассуждать о врожденном таланте скрипача, математика, теннисиста, нас интригует умение запоминать длинные тексты и перемножать в уме огромные числа. Андерс Эрикссон, шведский психолог с мировым именем, профессор Университета Флориды, уверен, что нет такого навыка, который нельзя было бы развить. Человек обладает невероятными возможностями, его мозг и тело способны совершенствоваться практически до бесконечности: это доказано на примере множества выдающихся людей, проявивших себя в самых разных областях. О том, как обрести уникальные навыки и достичь профессионального мастерства, рассказывает эта книга.

Андерс Эрикссон , Аня Воронцова , Роберт Пул

Деловая литература / Самиздат, сетевая литература
Управление жизненным циклом корпораций
Управление жизненным циклом корпораций

Любая организация переживает тот же жизненный цикл, что и человек: она рождается в муках, затем наступают детство, юность, зрелость. На самом деле люди начинают стареть с момента своего рождения. То же самое происходит и с организациями.Разница этих процессов только в том, что для человека сыворотку вечной молодости еще не придумали, а для компаний она существует. Этот секрет рыночной молодости и задора изобрел один из лучших бизнес-мыслителей современности Ицхак Адизес.Эта книга – «библия» метода Адизеса. Это единственная книга, в которой автор последовательно рассматривает все три основные составляющие части своей методологии. В ней вы найдете блестящие практические рекомендации по совершенствованию управления и ответы на вопросы: почему одни компании достигают колоссального, а также устойчивого расцвета, а другие стареют и умирают? какие проблемы на каком этапе развития нормальны, а какие аномальны? как быстро диагностировать и решить управленческие проблемы? какие четыре стиля лидерства необходимы для успешного сотрудничества и руководства организацией?Книга переведена на 30 языков.

Ицхак Калдерон Адизес

Деловая литература / Финансы и бизнес