Как стать автором
Обновить

Проектная документация или Говорила мне мама…

Время на прочтение2 мин
Количество просмотров1.2K
После прочтения и обсуждения хабратопика о предпроектной документации в голове стали роиться разного рода мысли. В первую очередь, разумеется, связанные с моим хобби-проектом JuffEd.

Лирическое отступление:
Проект JuffEd родился совершенно случайно, в одном споре года 1.5 назад на тему «как можно писать гуй на сиплюсплюсе??» Человек слегка застрял во временах MFC/OWL/Win32 API и не представлял, что гуй на C++ можно писать легко и непринуждённо, да ещё и кроссплатформенно. В качестве демонстряшки родился JuffEd, редактор с простейшими функциями и простейшей же подсветкой синтаксиса, написанный на Qt4. Человек впечатлился, осознал пробелы в образовании, а редактор уже был практически отправлен на свалку (т.к. ничем особенным он не выделялся, многого не умел, да и сделан был наспех), но тут я обнаружил, что им пользуются. Мало, очень мало народу, буквально единицы, но пользуются. Это было приятно, поэтому я решил не бросать его, а развивать в меру своих способностей и посмотреть, во что это выльется.


Возвращаемся в настоящее. Ноябрь 2008-го года. В данный момент редактор умеет далеко не всё, чего бы я от него хотел, но в очередной раз глянув в исходный код с прицелом на новые фичи (и улучшение существующих) меня постигло уныние. Хосспади, хто ж это писал, шо ж ты тут, родной, наворотил… =\

В общем, назрел небольшой редизайн. Большая часть компонентов функционирует как надо, и я до сих пор не нарадуюсь, как я изящно это сделал (скромно, зато правда :)), но вот основной «движок» требует пересмотра. И вот тут-то в полный рост встал вопрос «так… а как мы это дело будем передизайнивать (и самое главное — тестировать резултьтат), если мы вообще не знаем, чего он у нас умеет?» Вернее, мы-то знаем, но примерно. И по памяти, разумеется, все фичи не перечислим. А раз не перечислим, то и проверить не сумеем, всё ли работает после редизайна. А раз не сумеем, то что-нибудь обязательно не будет работать. А раз что-нибудь не будет работать, то пользователи расстроятся. А может быть и разозлятся. Однако злой пользователь — это совсем не то, что мы хотим получить.

Причины произошедшего понятны. Проект развивался по сценарию «чего-то наворотили, вроде работает» — «опа, вот это бы ещё добавить» — «Ух ты, фичреквест прислали! Сделаем, какие проблемы?» — «О, ещё фичреквест» — «О, багрепорт! Поправим» — «О, фичреквест! Сделаем.» — … и в итоге имеем то, что имеем. Ни перечня функций, ни описания архитектуры, ни-че-го. Даже классы толком не комментированы. Не говоря о пользовательской документации…

Возможно, подобные проблемы характерны для многих «just for fun» проектов, но ситуации это не меняет: данный конкретный проект требует повышенного внимания в области документации, чем я и собираюсь заняться в ближайшее время.
Теги:
Хабы:
Всего голосов 14: ↑12 и ↓2+10
Комментарии4

Публикации

Истории

Ближайшие события