Я думаю, що TODO
коментарі певною мірою мають сенс. Особливо , якщо ви працюєте итеративно (як це прийнято в гнучких і TDD магазинів), там буде те , що ви розпізнають які будуть необхідні в незабаром , але які ви не хочете , щоб зробити гак , щоб реалізувати право тоді і там.
Що стає некрасивим, коли такі коментарі залишаються в кодовій базі. Поки ви активно працюєте над функцією, добре залишити їх, але як тільки ви наблизитесь до завершення функції, слід зосередитись на тому, щоб позбутися від них. Якщо ви не хочете продовжувати роботу над тим, щоб насправді замінити їх правильним, робочим кодом, то принаймні визначте відповідну функціональність. Позичити приклад @ JoonasPulakka, де код спочатку говорить
ConnManager.getConnection("mydatabase"); // FIXME: DB name should be configurable
ви можете змінити це на щось подібне
ConnManager.getConnection(GetDatabaseName());
на даний момент GetDatabaseName () є заглушкою, яка просто повертає ту саму рядок, з якої ви почали. Таким чином, є чіткий момент майбутнього розширення, і ви знаєте, що будь-які внесені там зміни будуть відображені в будь-якому місці потрібної назви бази даних. Якщо ім'я бази даних є навіть середньо загальним, це може бути значним покращенням ремонту.
Особисто я використовую власне ключове слово замість строго TODO
, хоча намір однаковий: щоб позначити речі, які, як я знаю, знадобиться переглянути. Також перед тим, як перевірити свій код, я проводжу глобальний пошук вихідного коду за цим ключовим словом, яке вибирається таким, що зазвичай воно не повинно з’являтися ніде в коді. Якщо це знайдено, я знаю, що я щось забув, і можу йти вперед і виправити це.
Що стосується включення імені / підпису програміста з коментарем, я думаю, що це надмірно, якщо у вас є система контролю версій вихідного коду ( так , правда?). У такому випадку його винна функція підкаже вам, хто додав коментар, або точніше, хто востаннє перевіряв зміну, яка торкнулася коментаря. Наприклад, у Visual Studio це легко здійснити за допомогою функції "Анотація", знайденої серед функцій управління джерелом.