Разработка на коленке

"тут должна быть красивая цитата о программировании"

Твиттероподобный TODO Manager

2010-01-02 10:37

В связи с моим выходом в небольшой отпуск с плавным переходом в новогодние каникулы у меня появилось достаточное количество свободного времени, чтобы наконец прочесть «Совершенный код» Макконела. К тому моменту, как прочёл половину книги, у меня зачесались руки применить полученные знания на практике. Ну и как обычно, возник вопрос «Что писать?»...

Чтобы не тратить кучу времени на написание чего-то, что может оказаться бесполезным, решил выставить жёсткие требования по трудоёмкости проекта:

  1. Дедлайн 3 дня!
  2. Приложением есть смысл пользоваться каждый день.
  3. В случае удачной идеи и реализации приложение должно принести пользу в виде денег или трафика.

Этим требованиям соответствовали два кандидата:

  1. Flash-игра (ActionScript, Box2D, TweenMax)
  2. TODO Manager (C++, wxWidgets)

Сначала выбрал игру, полез в блокнот со списком сценариев для маленьких флеш-игр и не нашёл ни одного законченного настолько, чтобы можно было бы без потери времени написать игру. Итак, игра отпала. Взялся за TODO Manager.

Первое решение было сделать его похожим на твиттер по своей минималистичности. Раз уж людям так по душе микроблоггинг, то и управление микрозадачами может понравиться (так я подумал). Анализировать рынок существующих решений я не захотел, потому что наверняка что-то такое уже есть. Я пошёл по пути программистов майкрософт, которые не читают патенты и GPL код.

Составляем список функций:

  1. Добавить задачу.
  2. Удалить задачу (пометить как выполненную).
  3. Удалить все задачи.
  4. Учёт времени с момента назначения задачи.

Составив такой список, я уже был готов начать кодить весь день напролёт, но решил не спешить и пересмотреть сроки. Всё-таки я в отпуске и работать три полных дня, когда у меня отпуск всего две недели мне не хотелось. Поэтому я раздвинул срок на неделю, чтобы работать только тогда, когда моё время не занято семьёй. И понеслась...

...TODO Manager готов. Он умеет:

  1. Добавлять задачу в список.
  2. Удалять задачу из списка (пометить выполненной).
  3. Удалять все задачи.
  4. Сворачиваться в трей.
  5. Выводить окошко About.
  6. Показывать время создания задачи с точностью до секунды!

Ну а больше ему ничего и не нужно. Прошу любить и жаловать результат работы - скачать.

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

comments powered by Disqus