Я много раз видел это в коде, даже vim отмечает это как особый случай. #TODO
и #FIXME
есть ли два других маркера исправления, которые выделяет vim, но что это #XXX
значит?
Я много раз видел это в коде, даже vim отмечает это как особый случай. #TODO
и #FIXME
есть ли два других маркера исправления, которые выделяет vim, но что это #XXX
значит?
Ответы:
XXX
в комментарии обычно хедз-ап. Возможно:
Я часто предпочитаю более описательный тег, например FIXME
или TODO
или HACK
. XXX
часто используется как уловка для всего вышеперечисленного.
Поиск «XXX» в перекрестной ссылке кода FreeBSD - хороший пример многих вариантов использования. Их тысячи ...
TODO
или XXX
вместо него), но я бы так его интерпретировал.
NOTE
: Описание того, как работает код (когда это не очевидно).XXX
: Предупреждение о возможных подводных камнях, может использоваться как NOTE:XXX:
.HACK
: Не очень хорошо написанный или искаженный код для обхода проблемы / ошибки. Следует использовать как HACK:FIXME:
.FIXME
: Это вроде как работает, но можно было бы сделать лучше. (обычно код, написанный в спешке, нуждается в переписывании).BUG
: Здесь проблема.TODO
: Нет проблем, но нужно написать дополнительный код, обычно когда вы что-то пропускаете.По крайней мере, так меня учили об этих тегах. Обычно первые два ( NOTE
и XXX
) используются для информации, и никаких действий не требуется. В то время как последние три ( FIXME
, BUG
и TODO
) требуют действий. HACK
находится где-то посередине (и, я думаю, почти никогда не используется?).
LAZY
(не так критично, как FIXME или HACK) и OCD
(известный сверхинженерно).
Некоторые заметки из Python Enhancement Предложения июня 2005 года , которая была отклонена .
Выбор между
FIXME
иXXX
затруднен.
XXX
кажется более распространенным, но гораздо менее информативным.
Кроме того,XXX
это полезный заполнитель в фрагменте кода
, значение которого неизвестно.Таким образом ,
FIXME
является предпочтительной орфографией.
Sun говорит, чтоXXX
иFIXME
они немного отличаются, даваяXXX
большую степень серьезности.
Однако, учитывая десятилетия хаоса по этой теме и слишком много миллионов
разработчиков, на которые не повлияет Sun, их легко по праву назвать синонимами.
PEP начинается с,
Этот PEP был отклонен. Хотя сообщество может быть заинтересовано,
нет никакого желания приводить стандартную библиотеку в соответствие с этим стандартом.
...
Что такое кодовые теги?
Программисты широко используют специальные соглашения о разметке комментариев к коду, чтобы служить напоминанием о разделах кода, которые требуют более тщательного изучения или анализа. Примеры разметки включают в себя
FIXME
,TODO
,XXX
,BUG
, но есть еще много в широком использовании в существующем программном обеспечении. В дальнейшем такая разметка будет называться кодовыми тегами . Эти кодовые метки могут отображаться в коде приложения, модульных тестах, скриптах, общей документации или где угодно.
PEP - интересное чтение.
Взгляните на PEP350 . Это объясняет все TODO
, и XXX
т.д. Я использую его каждый день , когда я не могу точно вспомнить , что один из кодов тегов средств.
Я использую, XXX
потому что набирать легче, чем TODO
.
XXX
для случаев, когда вы спешите и вернетесь к этому самостоятельно.
TODO
для тех случаев, когда вам нужно передать его кому-то другому.
Вероятно, это для случаев, с которыми вы не знаете, как обращаться.
Проверьте это: Просмотр списка операторов TODO / FIXME / XXX / HACK
Из (старых) соглашений о коде Java :
Используйте XXX в комментарии, чтобы отметить то, что является фиктивным, но работает. Используйте FIXME, чтобы пометить что-то поддельное и сломанное.
XXX - это сокращение от caveat, которое немного отличается от NOTE, но очень похоже на HACK. Это может быть ошибка в сторонней библиотеке / коде, который используется, и код с // XXX: указывает, что либо это обходной путь из-за ошибки в стороннем коде, либо это может означать «осторожность» для тех, кто ищет / изменяет код, указывающий, почему что-то делается определенным образом, который в противном случае может показаться некорректным / неэлегантным на первый взгляд. HACK - это общий термин, означающий обходной путь для проблемы, которая может присутствовать либо в вашей собственной базе кода, либо в сторонней библиотеке.
Я считаю, что пока FIXME
для разработчика, и HACK
для сопровождающего, XXX
и для пользователя.
Например, если вы проигнорируете XXX
и вызовете эту функцию в другом месте, не понимая, как она работает, может произойти что-то неожиданное, и человек, имеющий дело с этой проблемой, будет недоволен (по крайней мере, тот, кто добавил эту функцию, XXX
так думает). Вы можете подумать, что проблема исчезнет, если вы просто не воспользуетесь этой функцией.
Но ведь FIXME
вы почувствуете себя достойным просто исправить код, чтобы он заработал. Ибо у HACK
вас может не быть лучшего выбора, даже если вы им не пользуетесь.
Если вы написали XXX
свой собственный код, и кто-то его использовал, вы можете почувствовать себя недовольным по причинам, например, если вы полностью переписали этот код, а затем он ведет себя совершенно по-другому, и вы нарушили чужой код. Но если вы уйдете FIXME
или TODO
вместо этого, вам будет все равно.
Я использую // XXX, поэтому мне не нужно запоминать номера строк. Вместо этого я просто ищу XXX, когда хочу вернуться к этому фрагменту кода.