Вопрос чисто теоретический, но мне интересно как это делают приличные люди, а не я. Все мы в коде так или иначе используем аннотации TODO, DEPRECATED и прочее. Но хотелось бы как-то разделять те же TODO по степени важности. Например: обычные, важные, очень важные TODO.
Логичной выглядит система использования каких-либо постфиксов. То есть «TODO что-то-там». Но никаких мыслей насчет унификации такого подхода у меня так и не родилось.
Может есть уже готовые, более менее стандартизованные и принятые многими (а значит и поддерживаемые в IDE) обозначения.
Вот именно. Если в коде так много TODO, что их нужно разделять на типы, то этот код вообще не должен был попать в репозиторий. А если нужно упорядочить будущие задачи, то это нужно делать в task/issue-tracker'е.
Есть TODO которым не место в багтрекере, например отрефакторить что-то, устранить возможный код-дупликейт, вынести в константы… Всё что не имеет бизнес вэлуе.
Вот и я про такие вот «заметки к коду». Понятно что фичи, техдолг все это описывается отдельно, на это выделяется время. А когда знаешь, что работы много-много и чтобы не забыть какие-то вещи вставляешь для себя такие вот «напоминания». Просто одни напоминания важнее других.
// FIXME что-то там — для TODO которые надо починить в ближайшее время
// XXX что-то там — «порнографическая» залепа :)
// TODO что-там — просто планы на будущее
Наиболее востребованные пометки в коде — это участки, требующие рефакторинга и куски, где временно убрана проверка/подставлено значение/что-то закомменчено на время разработки и т п.
В связи с этим, два дополнительных типа:
— REF — refactoring
— IMP — importance
//@todo REF Это нужно отрефакторить
//@todo IMP Вернуть проверку перед деплоем
По поводу поддержки IDE. Например, в моём phpStorm такие todo отображаются в специальной панельке. Плюс ко всему, есть возможность по шаблону задать разные цвета текста для того или иного типа.
Рекомендую ;)
Я выше уже писал. Дело не в множестве тудушек как таковых. Просто проект большой и сразу за все хвататься ну никак не получается. Отмечаешь для себя какие-то моменты которые фактически можно будет реализовать только сделав какой-то другой функционал.
И я просто спрашиваю — а вдруг такое уже придумано.
а вариант типа TODO_1 — первоочередное
TODO_2 — среднее по паршивости
TODO_3 — завтра…
не рассматривал? Во вкладке «задачи» IDE просто упорядочить TODO по имени — и первоочередное будет первым :)