Как вернуть контекст рабочей задачи, если её пришлось отложить?
Публичный постДопустим, я решаю рабочую задачу (например пишу код). В какой-то момент случается прерывание по моей инициативе. Например, отправил код на ревью. Или возник непредвиденный вопрос, без ответа на который решать задачу дальше нельзя. Понятно, что ответа придется ждать некоторое время (час, полдня). Это время не хочется терять, поэтому я решаю заняться другой задачей. Но хочу облегчить себе возвращение в контекст первой, когда получу ответ. Я обычно делаю заметку, куда записываю текущий статус. Но тут есть сложность - пока я работаю с задачей, погружен в нее, я помню детали, они кажутся очевидными, и запись их - бессмысленной. Но они оказываются важны при восстановлении контекста.
Поэтому вопрос - если вы каким-то способом помогаете себе в возвращении к отложенной задаче, как вы это делаете? Что и куда записываете? Насколько подробно?
Обычно внутри дня проблем у меня не возникает, а между днями я записываю себе на лист бумаги или в файл ответ на вопрос: "что ещё в этой задаче надо сделать?". Подробный: отправить туда-то на ревью, ещё раз перечитать вот это место, запустить такой-то тест, разобраться в конкретно этом TODO... Другими словами, что бы я сделал, если бы перерыва не было.
Помогает скорее не сохранить контекст, а начать работу над задачей без тупняка "а что тут вообще было". Контекст дальше потихоньку всплывает сам из глубин памяти.
Прямо в коде без комментария очень общими словами пишу что осталось сделать (предусмотреть случай 1, 2, 3...), или что нужно исправить (исправить часть 1,2...)
Обычно это 1-2 строки русского малосвязного текста
Когда через какое-то время возвращаюсь, то запускаю код на компиляцию, он мне показывает ошибку в месте записей, я читаю и довольно быстро вспоминаю в чем была суть
Если в пределах недели возвращаешься, то по большому счету особой разницы нет что писать, слова выступают как якоря, которые из памяти вытянут нужную информацию
Если несколько месяцев и больше, то делаю комментарий //TODO, где подробно описываю ситуацию в несколько строк, стараясь аккуратно подбирать слова . Еще при фиксации в ГИТ об этом упоминаю
Залинкую свой похожий вопрос: Как вы переключаете контекст в работе?, там мне много хорошего посоветовали.
Ворвусь радикально в тред. Если держать и/или восстанавливать контекст это проблема то не нужно этого делать. Ешьте слона по частям.
Не создавать большой контекст. Если речь про программирование, то решать задачу маленькими шагами от рабочего состояния до рабочего состояния. Так что не жалко нажать несколько раз Ctrl+Z. Или можно делать временные коммиты.
Для этого надо иметь быстрые тесты.
Если всё же ушёл в глубокий рефакторинг, то можно записывать, что осталось сделать. В отдельный файл, в TODO файлы или комментарии.
Комментарий в тикете с состоянием разработки
Очень редко, но делаю заметки в комментарии в чейнж листе. Что-то короткое прям. Но в основном пытаюсь держать в голове, потому что писать их тоже время отнимает - вспомнить быстрее. В голове держать помогает только если не на долго оставил задачу. Если на долго, даже заметки не помогают (краткосрочная память? 😁)
Сильно помогает бить задачу на мелкие коммиты. В основном план таких комитов обдумываешь заранее. Можно накомитить временных - полностью не реализованных - только скелет, например. Потом амендить/ребейзить готовое решение. В голове остаётся план который, нужно реализовать и он легко вспоминается, если посмотреть на ветку уже начатых коммитов.