0%

(Прим. Оригинал статьи на http://dannorth.net/introducing-bdd. Дэн Норт — преподаватель agile методологий разработки. Разрабатывает ПО и учит этому около 20 лет. Создатель собственного агентства по консультированию и разработке ПО. Ввел понятие разработка через поведение (BDD). Опубликовал этот перевод на Хабре здесь.)

История: Эта статья впервые появилась в журнале Better Software в марте 2006. Она была переведена на несколько языков.

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

Чем больше я пользовался TDD, тем больше я понимал, что не столько оттачиваю своё мастерство, достигая новых его вершин, сколько то, что это было движение в слепую. Я помню, как мне все чаще приходила мысль: “Эх, вот бы мне кто-нибудь сказал это раньше!”, чем мысль: “Отлично, дорога ясна”. Я решил, что нужно найти способ обучать TDD, показывающий, как верно работать с ним сразу и без ошибок.

И этот способ — это программирование через поведение. Оно выросло из выработанных agile практик и призвано сделать их доступнее и эффективнее для команд, незнакомых с ними. Со временем, BDD стало включать в себя agile анализ и автоматическое приемочное (прим. acceptance) тестирование.

Читать полностью »

Для толкового учета личных финансов, после недолгого интернет поиска, выбрал популярную и свободную GnuCash. Программа начата в конце 90-х годов, написана частью на LISP, имеет функцию двойной записи и много функции. Пришлось изучить, что такое двойная запись, в чем очень помогли посты на http://www.ashep.org/tag/gnucash/.

Но вводить вручную проводки из интернет банкинга не хотелось, а хотелось, чтобы все было быстро. Внешнего программного интерфейса для Альфабанка я не нашел в открытом доступе, поэтому написал небольшой скрипт для конвертирования CSV файла, легко скачиваемого из интернет банкинга (подробная выписка), в файл QIF. Скрипт можно достать на https://github.com/w1ld/csv-to-qif-converter . Для его использования нужно создать дополнительный файл с описанием правил конвертирования, там же можно добавить связанные счета, т.е. то на какой счет будет сделана проводка. Это описывается с использованием Powershell в том файле. Пример такого файла можно найти рядом со скриптом.