В прошлой версии нашего рассказа (июнь 2004) было рассказано о том, как вести список однострочных задач в текстовом редакторе, который умеет подсвечивать строки в файле. Мне удалось поработать с этим списком задач примерно с полтора месяца, переделывая его и дорабатывая, после чего к августу появилась совершенно другая схема ведения списка задач, которая и осталась основной. И пока мне нравится.
Что мне мешало, и чего мне не хватало в to-do-однострочнике:
- В однострочнике не было дат. Первый хак — это вносить каждый день текущую дату, под ней писать задачи, и постепенно выполнять то, что накопилось в предыдущих днях. Но даже с этими датами началась путаница: когда начало, когда конец. Писать обе даты? Нудно и муторно. В итоге было так: дата, несколько строк тасков, выполненных и невыполненных. И всё это выстраивается в длинную „хронологическую простыню“™.
- Линейное хранение тасков по хронологии погребало их в прошлом. Каждый день — новые таски, новые записи, новые заботы. У меня получалось так, что таски растягиваются на недели и месяцы (в силу качественной и мощно исполненной прокрастинации). Это означает, что среди десятков и десятков выполненных задач где-то в трёхнедельной давности заботах оставались погребены невыполненные задачи. И они меня не пинают. И их надо выискивать и ужасаться, когда окажется ясно, насколько всё запущено. Если переносить все несделанное в сегодняшний день, то пропадала история — было неясно, сколько уже вся эта волынка тянется.
- Комментарии захламляли однострочник. В однострочную концепцию плохо вписываются дополнительные заметки и объяснения. Именно поэтому и возникла в прошлой версии идея с комментариями к записям.
Что было сделано: комментарии стали официальной частью каждого таска-задачи, а длинная „хронологическая простыня“ первой версии разделилась на две части: таск-лист и хронологию. Общий же формат секций в файле выглядит так:
- ссылки на другие файлы (линк-кэш, таски других проектов -- таски ютх лежат в отдельном файле, например)
- таск-лист сверху, в нём задачи, отсортированные по приоритету, и разбитые в блоки — написать, исправить, купить, продумать, обсудить, позвонить, и т.д.
- хронология под таск-листом.
Теперь в таск-листе в самом начале файла висят все текущие задачи в таком формате: дата постановки задачи, текст таска, комментарии (если есть).
- (11.01.2005) обычная задача
// комментарий к этой обычной задаче
Дата постановки задач в скобках помогает сразу визуально отличить таски от не-тасков, пробегая список глазами. Месяц-число помогают быстро отсматривать что-то чрезмерно затянувшееся, чтобы решить — может, этот таск уже пора отменить и выбросить в хронологию, как устаревшую и неактуальную (вариант — проэтосамленную) задачу.
После выполнения/отмены задача отмечается плюсом (редактор автоматически превращает её в светло-серую строку), и я её переношу в хронологию, под сегодняшнюю дату. Это позволяет потом посмотреть, какие задачи были выполнены за день, а заодно и примерно оценить, сколько времени прошло от постановки задачи до её выполнения. Обычно это катастрофичские цифры, если таск не решается одним-двумя днями кодинга или проектирования.
Но зато перестали теряться старые задачи, чего я и добивалась. Также автоматически убрало хронологию из центра внимания, и теперь список дней служит лишь для того, чтобы посмотреть, что когда делалось и было введено в строй или было написано, а таски дают прекрасный список того, что надо сделать здесь и сейчас.
Интересно, что для того, чтобы мотивировать себя на выполнение тасков, хронология начинается со страшного красного заголовка „ВСТАВЬ НОВУЮ ДАТУ“ — практика показывает, что когда ты вставишь сегодняшнюю дату, у тебя сразу появляется желание её „заполнить чем-нибудь“, желательно полезным. По крайней мере, так это работает у меня.
А все правила разметки и шаманство регулярных выражений и подсветки осталось прежними, как в прошлой версии. Может, дополнились, но это уже надо смотреть отдельно. А я теперь пойду ещё пошуршу.