Skip to content

TDD By Example Kent Beck. Пример на основе мультивалютной системы WyCash

License

Notifications You must be signed in to change notification settings

NorthArea/wycash

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TDD

"TDD By Example Kent Beck". Чистый код, который работает.

Правила TDD

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

Этапы программирования

  1. Красный - напишите небольшой тест, который не работает, а возможно даже не компилируется
  2. Зеленый - заставьте тест работать как можно быстрее, при этом не думайте о правильности дизайна и о чистоте кода. напишите ровно столько кода, чтобы тест сработал.
  3. Рефакторинг - устраните из написанного кода любое дублирование.

Цикл разработки на основе TDD

  1. (Красный) Напишите тес. Представьте, как будет реализована в коде воображаемая вами операция. Продумав ее интерфейс, опишите все элементы, которые, как вам кажется, понадобятся.
  2. (Зеленый) Заставьте тест работать. первоочередная задача - получить зеленую полоску. Если напрашивается простое и элегантное решение, используйте его.
  3. (Рефакторинг) Улучшите решение. Теперь, когда система работает, избавьтесь от прошлых огрехов. Устраните дублирование, которое вы внесли, и быстро сделайте так, чтобы полоска снова стала зеленой.

Зависимость и дублирование

Проблема с кодом и тестами заключается не в дублировании, а в зависимости между кодом и тестами. Вы не можете изменить одно, не изменив другого. Зависимость является проблемой, а дублирование - ее симптомом. Чаще всего дублирование проявляется в виде дублирования логики. Устранение дублирования в программах устраняет и зависимость. Для этого и существует второе правило TDD. Устраняя дублирование перед написанием нового теста, мы увеличиваем наши шансы сделать его успешном внеся всего одно изменение.

About

TDD By Example Kent Beck. Пример на основе мультивалютной системы WyCash

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages