Я много раз видел это в коде, даже 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, когда хочу вернуться к этому фрагменту кода.