eXtreme Programming and Test-driven development

Несколько дней назад я решил добавить ещё пару аббревиатур к своему резюме. На сей раз это будут XP (eXtreme Programming) и TDD (Test-Driven Development).

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

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

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

К настоящему моменту у меня за плечами 2-3 дня чтения о TDD (Test-Driven Development By Example by Kent Beck и десяток статей из интернета) и никакого практического опыта. Именно процесс его приобретения я собираюсь описать на страницах этого блога. Может быть в результате получится "TDD на примере для чайников"?

С удовольствием пообщаюсь с новичками TDD и XP на страницах своего блога. Специально для этой цели вчера перенастроил систему комментариев на сайте, дабы убрать анонимов и обеспечить регистрацию с помощью сервиса loginza

Возвращаясь к деньгам. Я хочу написать простенькую систему учета личных финансов, чтобы понять куда уходят деньги. Я в самом деле никак не могу этого понять. Однажды я пытался фиксировать расходы в какой-то программа, но ей недоставало гибкости и постепенно результат перестал меня устраивать, отчего программа была заброшена. Во второй раз я пробовал использовать excel, но и его возможности (без написания дополнительного кода) оказались слишком скудны.

В соответсвии с идеологией XP, нет необходимости детально описывать всю систему, достаточно начать с нескольких user story (буду, называть их "пожелания").

Итак, я разрезал несколько листов A4 на четвертинки и записал несколько пожеланий в соответсвии с шаблоном: Как [роль], я хочу [цель], чтобы [бизнес-ценность] ( “As a [type of user], I want [some goal] so that [some reason].”). На данный момент у меня получилось 5 историй

  • Как пользователь, я хочу добавлять новые счета, чтобы получить их полный список
  • Как пользователь, я хочу фиксировать поступление денег на счета, чтобы понять сколько я зарабатываю.
  • Как пользователь, я хочу отмечать источник получения денег, чтобы понять как я их зарабатываю.
  • Как пользователь я хочу фиксировать расходы, чтобы знать сколько я трачу.
  • Как пользователь я хочу отмечать расходы разными тегами, чтобы понять на что я трачу деньги.

Иногда подробности разработки в виде лога можно будет в моем блоге об утраченном времени

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

Читайте в блоге

JavaScript: конвертация \uXXXX в текст
TinyURL. Шаг 5. Последние штрихи и запуск
MFC. Использование HTML-интерфейса.

Метки: xp tdd money

Комментарии:

Войдите на сайт, чтобы оставить комментарий