Что означает #XXX в комментариях к коду? - PullRequest
106 голосов
/ 21 сентября 2009

Я много видел это в коде, даже vim помечает это как особый случай. #TODO и #FIXME - это два других маркера исправления vim, но что означает #XXX?

Ответы [ 10 ]

116 голосов
/ 21 сентября 2009

XXX в комментарии обычно хедз-ап. Это может быть:

  • То, что не реализовано полностью правильно.
  • Что-то, что должно быть исправлено позже.
  • Подсветка возможного проблемного места.
  • Что-то, в чем вы не уверены, вопрос.

Я часто предпочитал более описательный тег, такой как FIXME или TODO или HACK. XXX часто используется как подвох для всего вышеперечисленного.

Поиск 'XXX' по перекрестной ссылке на код FreeBSD является хорошим примером многих применений. Есть тысячи ...

71 голосов
/ 02 сентября 2011
  • NOTE: описание того, как работает код (когда он не самоочевиден).
  • XXX: Предупреждение о возможных ловушках, может использоваться как NOTE:XXX:.
  • HACK: Не очень хорошо написанный или искаженный код для обхода проблемы / ошибки. Должен использоваться как HACK:FIXME:.
  • FIXME: Это работает, вроде как, но могло бы быть и лучше. (обычно код, написанный на скорую руку, который требует переписывания).
  • BUG: здесь есть проблема.
  • TODO: Нет проблем, но дополнительный код необходимо писать, обычно когда вы что-то пропускаете.

По крайней мере, так меня учили об этих тегах. В основном первые два (NOTE и XXX) используются для информации, и никаких действий не требуется. В то время как последние три (FIXME, BUG и TODO) требуют действий. HACK находится где-то посередине (и вряд ли когда-либо использовался, я думаю?).

18 голосов
/ 21 сентября 2009

Некоторые заметки из июньского предложения по улучшению Python 2005 года, которое было отклонено .

Выбор между FIXME и XXX затруднителен.
XXX кажется более распространенным, но гораздо менее наглядным.
Кроме того, XXX является полезным заполнителем в фрагменте кода
имеющий значение, которое неизвестно.

Таким образом FIXME является предпочтительным написанием.
Сун говорит, что XXX и FIXME немного отличаются, давая XXX более высокую степень тяжести.
Однако, с десятилетиями хаоса на эту тему и слишком многими миллионами
разработчики, на которых Sun не повлияет, их легко по праву назвать синонимами.


PEP начинается с

Этот PEP был отклонен. Хотя сообщество может быть заинтересовано,
нет желания привести стандартную библиотеку в соответствие с этим стандартом.

...

Что такое кодеги?

Программисты широко используют условные соглашения для разметки комментариев кода для обслуживания в качестве напоминания разделов кода, которые требуют более тщательного изучения или обзор. Примеры разметки включают FIXME, TODO, XXX, BUG, но в существующем программном обеспечении их еще много. такие разметка отныне будет именоваться кодовыми метками . Эти кодовые метки может отображаться в коде приложения, модульных тестах, скриптах, общих документация или, где это уместно.


PEP - интересное чтение.

9 голосов
/ 19 мая 2015

Посмотрите на PEP350 . Это объясняет все TODO, XXX и т. Д. Я использую его каждый день, когда не могу точно вспомнить, что означает один из тегов кода.

5 голосов
/ 21 сентября 2009

Я использую XXX, потому что его легче набирать, чем TODO.

XXX для тех случаев, когда вы спешите и вернетесь к этому сами.

TODO для случаев, когда вам нужно передать это кому-то еще.

2 голосов
/ 25 июля 2016

С (старый) Соглашения Java-кода :

Используйте XXX в комментарии, чтобы отметить что-то, что является поддельным, но работает. использование FIXME для обозначения чего-то поддельного и сломанного.

2 голосов
/ 21 сентября 2009

Заполнитель, обычно подразумевающий код, на который ссылается:

  • Гадкий
  • Страшные
  • Магия

или хуже.

2 голосов
/ 21 сентября 2009
0 голосов
/ 29 апреля 2015

Я считаю, что FIXME для разработчика, а HACK для сопровождающего, XXX для пользователя.

Например, если вы игнорируете XXX и вызываете эту функцию в другом месте, не понимая, как она работает, может произойти что-то неожиданное, и человек, занимающийся этой проблемой, будет недоволен (по крайней мере тот, кто добавил XXX так думает). Вы можете подумать, что проблема исчезнет, ​​если вы просто не используете эту функцию.

Но для FIXME вы будете чувствовать себя достойным просто исправить код, чтобы он заработал. А для HACK у вас может не быть лучшего выбора, даже если вы его не используете.

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

0 голосов
/ 20 мая 2014

XXX - сокращение от Caveat, которое немного отличается от NOTE, но очень похоже на HACK. Это может быть ошибка в используемой сторонней библиотеке / коде, и код с // XXX: указывает, что это либо обходной путь из-за ошибки в стороннем коде, либо это может означать «осторожность» для тех, кто ищет / изменяет код, указывающий, почему что-то делается определенным образом, что в противном случае может показаться неправильным / неэластичным на первый взгляд. HACK - это общий термин, обозначающий обходной путь для проблемы, которая может присутствовать либо в вашей собственной кодовой базе, либо в сторонней библиотеке.

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