В чем смысл #XXX в комментариях кодов?

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

Ответ 1

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

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

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

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

Ответ 2

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

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

Ответ 3

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

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

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


PEP Начнется с

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

...

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

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


PEP интересен для чтения.

Ответ 4

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

Ответ 5

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

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

TODO - это когда вам нужно передать его кому-то другому.

Ответ 7

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

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

Ответ 8

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

  • Гадкий
  • Scary
  • Магия

или хуже.

Ответ 9

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

Ответ 10

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

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

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

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