Это работает лучше, чем вы думаете.
Недавно я проделал большую работу по обратному инжинирингу над отвратительной старой коллекцией кода на Си. Функция за функцией Я перераспределял функции, которые все еще были актуальны в классы, писал модульные тесты для классов и создавал то, что выглядело как приложение для замены. У него был некоторый исходный «логический поток» через классы, а некоторые классы были плохо спроектированы [В основном это было из-за подмножества глобальных переменных, которые было слишком трудно разделить.]
Он прошел модульные тесты на уровне класса и на уровне общего приложения. Устаревший источник в основном использовался как своего рода «спецификация в C», чтобы найти действительно неясные бизнес-правила.
В прошлом году я написал план проекта по замене 30-летнего COBOL. Заказчик склонялся к Java. Я прототипировал пересмотренную модель данных в Python, используя Django как часть процесса планирования. Я мог бы продемонстрировать основные транзакции до того, как планировал.
Примечание : Построить модель и интерфейс администратора в Django было быстрее, чем планировать проект в целом.
Из-за менталитета «нам нужно использовать Java» полученный проект будет больше и дороже, чем завершение демонстрации Django. Без реальной стоимости, чтобы сбалансировать эту стоимость.
Кроме того, я сделал тот же базовый «прототип в Django» для настольного приложения VB, которое должно было стать веб-приложением. Я построил модель в Django, загрузил устаревшие данные и начал работать через несколько недель. Я использовал этот рабочий прототип, чтобы указать остальную часть усилий по конвертации.
Примечание : у меня была рабочая реализация Django (только для моделей и страниц администратора), которую я использовал для планирования оставшихся усилий.
Лучшая часть создания прототипов в Django - это то, что вы можете возиться с моделью, юнит-тестами и страницами администратора, пока не получите право . Как только модель подойдет, вы можете тратить оставшееся время на игры с пользовательским интерфейсом, пока все не будут довольны.