Как вы помечаете код, чтобы вы могли вернуться позже и поработать с ним? - PullRequest
58 голосов
/ 02 декабря 2008

В C # я использую директивы #warning и #error,

#warning This is dirty code...
#error Fix this before everything explodes!

Таким образом, компилятор сообщит мне, что у меня еще есть работа. Какой метод вы используете для маркировки кода, чтобы не забыть о нем?

Ответы [ 21 ]

81 голосов
/ 02 декабря 2008

Пометьте их // TODO, // HACK или другими токенами комментариев, которые будут отображаться на панели задач в Visual Studio.

См. Использование списка задач .

26 голосов
/ 02 декабря 2008

Комментарий Тодо.

Мы также добавили специальное ключевое слово NOCHECKIN, мы добавили коммит-хук в нашу систему управления версиями (очень легко сделать это по крайней мере с cvs или svn), где она сканирует все файлы и отказывается проверять файл если он находит текст NOCHECKIN в любом месте.

Это очень полезно, если вы просто хотите проверить что-то и быть уверенным, что оно случайно не будет зарегистрировано (не спускало глаз с глаз во время различий всего, что было передано в систему контроля версий).

14 голосов
/ 02 декабря 2008

Я использую комбинацию //TODO: //HACK: и throw new NotImplementedException(); в своих методах для обозначения работы, которая не была выполнена. Кроме того, я добавляю закладки в Visual Studio на неполные строки.

10 голосов
/ 02 декабря 2008

// TODO: Имя человека - пожалуйста, исправьте это.

Это на Java, вы можете посмотреть на задачи в Eclipse, которые найдут все ссылки на этот тег и сгруппируют их по человеку, чтобы вы могли назначить TODO кому-то другому или посмотреть только на свои.

6 голосов
/ 02 декабря 2008

Комментарии «делать» хороши в теории, но не так хороши на практике, по крайней мере, по моему опыту. Если вы будете отстранены достаточно долго, чтобы нуждаться в них, то они, как правило, будут забыты.

Я предпочитаю общую стратегию Джона Т, но обычно я делаю это, просто временно нарушая код - я часто вставляю намеренно неопределенную ссылку на метод и позволяю компилятору напомнить мне о том, что мне нужно вернуть:

PutTheUpdateCodeHere();
6 голосов
/ 02 декабря 2008

Если мне нужно все бросить в середине изменения, тогда

#error finish this

Если это то, что я должен сделать позже, оно попадает в мой баг-трекер (который используется для всех задач).

5 голосов
/ 02 декабря 2008

Подход, который мне действительно понравился, - это «Взлом бомбы», как продемонстрировал Орен Эйни здесь .

try
{
   //do stuff
   return true;
}
catch // no idea how to prevent an exception here at the moment, this make it work for now...
{
  if (DateTime.Today > new DateTime(2007, 2, 7))
    throw new InvalidOperationException("fix me already!! no catching exceptions like this!");
  return false;
}
5 голосов
/ 02 декабря 2008

Добавить тест в отключенном состоянии. Они отображаются во всех отчетах о сборке.

Если это не сработает, я сообщаю об ошибке.

В частности, я не видел, чтобы комментарии TODO когда-либо значимо уменьшались в количестве. Если бы у меня не было времени сделать это, когда я написал комментарий, я не знаю, почему у меня было время позже.

4 голосов
/ 03 декабря 2008
//TODO: Finish this

Если вы используете VS, вы можете настроить свои собственные теги задач в меню Инструменты> Параметры> Среда> Список задач

3 голосов
/ 02 декабря 2008

gvim выделяет как "// XXX", так и "// TODO" желтым цветом, что поразило меня, когда я впервые пометил какой-то код таким образом, чтобы напомнить себе о необходимости вернуться к нему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...