Некоторое время назад я написал очень маленький скрипт на Python, который периодически проверял xml-канал на наличие новых записей и предупреждал пользователя о новых записях, когда они присутствовали. Я написал это для себя, так что, по сути, это была консольная программа, которую мог использовать любой, кому комфортно с консольным интерфейсом.
Через некоторое время я решил, что это может быть больше полезно для других людей, и начал приводить его в порядок, очищать входные данные, удалять ошибки. Мне пришло в голову, что, поскольку я написал сценарий, я знаю, как использовать его эффективно, точно и т. д. Другие могут не знать, поэтому я начал добавлять графический интерфейс. Это началось как простое меню, а затем расширилось до более полного графического интерфейса с интерфейсом и меню параметров. Затем я добавил сохраненные пользовательские настройки, а также хранилище для ранее найденных XML-каналов, чтобы ускорить повторный поиск.
Я добавил ведение журнала, чтобы помочь отлаживать приложение на случай, если что-то пойдет не так, довел приложение до последней доступной стабильной кодовой базы Python для выбранной мной платформы и улучшил диалоговые функции.
Я исправил ошибки и четко прокомментировал свой код, но у меня все еще есть вещи, которые, по моему мнению, можно сделать для улучшения приложения, прежде чем я сделаю его доступным для альфа-тестеров. Это далеко от моего исходного 20-30-строчного сценария. То, что, как я ожидал, займет у меня всего час или два, чтобы перейти от проверки концепции к приемлемой программе использования, заняло в 10-20 раз больше времени. (Я все еще нуб, и все это занимает у меня много времени, но все же....)
Как узнать, когда нужно перестать добавлять/подправлять/исправлять вещи и позволить ребенку выползти на улицу?
Когда вы уложитесь в срок.
Если у вас нет дедлайна, это ваша проблема...
Вот как я работаю: