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 Коментар (програмування) Початковий код Інтегроване середовище розробки Система відстеження помилок Технічний борг

Примітки