Описаны основные методы и приёмы ведения TODO-списков.Каждый программист, хоть раз работавший с неодноразовыми проектами (к одноразовым это тоже может относиться), так или иначе сталкивается с так называемым TODO. Это список задач, которые необходимо реализовать применительно к проекту. Это может быть наращивание функционала, реструктуризация чего либо, переделка уже имеющихся функций и так далее.
Возникает вопрос, как следует записывать задачи для TODO? Тут каждый находит
свой метод.
(читать дальше)Самый простой метод -- "в голове", но память несовершенна. Также можно записывать на бумажках. Это чуть лучше, так как содержимое бумажек так легко не теряется, но в случае работы в команде могут начаться проблемы.
Если говорить об электронном хранилище, которое легко редактируется, то можно хранить TODO в текстовом файле (или нескольких). Это лучше чем бумажки и ещё лучше чем в голове. Действительно многие программисты ведут TODO в текстовых файлах. Плюс тут в том, что в случае использования системы контроля версий, этот файл можно включить в репозиторий и он будет обновляться. Можно использовать и вордовский документ, плюсом в данном случае будет являться богатое форматирование, но с системой контроля версий в данном случае сложнее (файл придётся заменять целиком; и так каждый раз).
Visual Studio предлагает механизм Task List, проверяющий исходный текст программы на специальные сочетания символов (их можно задать), например "TODO:" или "WTF:" и выводящий в виде таблицы строки, следующие после этих сочетаний. Можно настраивать приоритеты различных сочетаний. Это удобно при командной работе (интеграция системы в систему контроля версий получается автоматической), плюс к тому TODO хранится прямо в исходниках, а не отдельно. Минус -- чтобы обозреть это TODO нужно не только открыть Visual Studio, но и вызвать особую команду. Минус сомнительный. Другие среды разработки также могут предлагать свои услуги по ведению TODO списков различной навороченности.
Также можно вести TODO в отдельной программе, коих великое множество с разными возможностями (правда большая часть программ предназначена для ведения задач в жизни, а не в проекте, но кого это останавливало?).
Можно использовать системы отслеживания ошибок (bug tracking), особенно если команда большая и задачи приходят всем от всех (хотя это неправильно, если всем ото всех (= кроме случаев тестирования, но устранение ошибки тоже задача же!).
Зачем я пишу все эти очевидные вещи? Как я уже писал, все находят свои методы. Хочу рассказать о том, как ведёт TODO список один знакомый программист. Он долго думал, как вести TODO для одного из проектов. У него было два критерия:
1) чтобы было разбиение по категориям;
2) чтобы можно было писать в любой части экрана.
Очевидно, что все вышеперечисленные методы не подходят (наиболее похоже -- записи на бумажках).
Он остановил свой выбор на Microsoft Excel. На первом листе находится содержание и ссылки на категории, каждый последующий лист содержит задачи по категориям. Задачи записываются в ячейках на соответствующих листах. Проблем с синхронизацией тоже нет -- он работает над проектом в одиночку.
Гениально, не правда ли?Пожалуйста, ознакомьтесь с комментариями!
29.09.2011 в 01:24
Конечно, для проектов с десятками модулей это неудобно. Какое-то время ещё можно вытянуть файлами, но в конечном счёте нужен багтрекер. Вордовский документ в СВН - это лол.