TODO (від — «зробити», «до виконання») — поширена позначка в коментарях початкового коду, документації або списках завдань, яка вказує на місце, де потрібно виконати додаткову роботу: дописати функціональність, уточнити реалізацію, усунути тимчасове рішення або повернутися до незавершеного фрагмента.
У програмуванні коментарі з позначкою TODO зазвичай використовують для фіксації завдань, які не блокують поточну роботу, але мають бути виконані пізніше. Багато інтегрованих середовищ розробки та редакторів коду автоматично знаходять такі коментарі, показують їх у спеціальних списках завдань або підсвічують у редакторі. Наприклад, IntelliJ IDEA за замовчуванням розпізнає шаблони TODO і FIXME у коментарях, а Visual Studio має список завдань, який може відображати коментарі з токенами TODO, HACK та користувацькими токенами.
Використання Позначка TODO зазвичай записується великими літерами на початку коментаря. У різних мовах програмування вона може виглядати по-різному залежно від синтаксису коментарів:
// TODO: додати перевірку вхідних даних
# TODO: винести повторюваний код в окрему функцію
<!-- TODO: оновити текст перед публікацією -->
Деякі правила оформлення коду рекомендують додавати до TODO коротке пояснення, посилання на задачу або ідентифікатор відповідальної особи. Наприклад, Google Python Style Guide рекомендує використовувати TODO-коментарі для тимчасових або неповних рішень і додавати контекст, бажано посилання на задачу або інший ресурс.
Схожі позначки Окрім TODO, у коментарях до коду можуть використовуватися інші службові позначки:
FIXME — вказує на відомий фрагмент, який потребує виправлення; HACK — позначає тимчасове або неідеальне рішення; BUG — вказує на відому помилку; XXX — може використовуватися для привернення уваги до потенційно проблемного або небезпечного місця.
Такі позначки не є частиною синтаксису більшості мов програмування, але підтримуються багатьма інструментами розробки як домовленість між програмістами.
Підтримка в інструментах Коментарі TODO підтримуються або розпізнаються багатьма середовищами розробки та редакторами коду, зокрема:
IntelliJ IDEA; Android Studio; PyCharm; PhpStorm; Visual Studio; Eclipse; NetBeans; Vim; Emacs; Visual Studio Code — через розширення або пошук за коментарями.
Див. також FIXME Коментар (програмування) Початковий код Інтегроване середовище розробки Система відстеження помилок Технічний борг
Примітки