Что ХХХ означает в комментарии? [закрыто]

72

Что люди обычно имеют в виду, когда вы видите XXXв комментарии. Иногда я увижу такой комментарий:

# XXX - This widget really should frobulate the whatsit

Конечно, я могу сказать, что означает комментарий, но что обычно означает XXX? Это говорит "Это взлом" или, может быть, "Мы должны вернуться к этому позже"? Или это говорит что-то совсем другое?

Джейсон Бейкер
источник
3
Существует множество ссылок, по которым можно ответить на этот вопрос: catb.org/jargon/html/X/XXX.html ; oracle.com/technetwork/java/javase/documentation/… ; c2.com/cgi/wiki?FixmeComment
pkh
Я пользуюсь qazлично. Легко набрать, и за 40 лет кодирования это никогда не встречалось в моем коде, поэтому я легко могу найти его. Вместо FixMe: или ToDo: я использую его для быстрых экспериментальных взломов, которые я могу легко изменить, если они не сработают. Но мой qazникогда бы и не быть привержены источник управления, в то время как FIXME: или ToDo: или XXX может быть.
Mawg
Я заметил, что в кодовой базе Метеора есть много старых XXX комментариев ... своего рода беглый комментарий к его грязным секретам. И кажется, что они используют какой-то инструмент для автоматического удаления их из кода, который поставляется!
Энди

Ответы:

68

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

Однако на этой веб-странице изложено несколько иное мышление:

XXX: используется для обозначения чего-то поддельного, но работает

FIXME: используется для обозначения чего-то поддельного и сломанного

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

Джонатан Ху
источник
12
HACKбудет альтернативой XXX.
Ричард
1
ссылка не работает :(
Джек
1
FIXME: link broken
onewhaleid
1
HACK не является альтернативой XXX. Флаг комментария XXX имеет долгую историю и, по сути, означает то, что работает, но требует внимания (поддельное, но работает).
Брилл Паппин
98

Это грязный кусок кода;)

MattyD
источник
20
Это смешной ответ или смешной и правильный ответ?
koenmetsu
4
о, эти непослушные программисты
aeracode
@koenmetsu смешно и аккуратно. Это неправильно , но пока работает достаточно хорошо, поэтому не совсем неправильно. «Грязный» - это подходящее описание чего-то, что работает, но не совсем правильно (то есть чисто).
Ииридайн
21

В Википедии : «ХХХ предупредить других программистов о проблемном или вводящем в заблуждение коде». - которые могут быть извлечены из контейнеров с ядом, на которых написано «ххх»; супер старая школа.

Если это заметка TODO, вот соответствующая запись в блоге под названием TODO или не TODO , в которой рассматривается использование GREP для сортировки комментариев по дате, владельцу и т. Д.

просчеты
источник
13

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

Таким образом, он используется в качестве маркера для отметки комментариев, которые должны быть легко доступны для поиска. Обычно он отмечает фрагмент кода, который необходимо пересмотреть.

Йорг Миттаг
источник
2
Также легко найти с помощью grep или тому подобного
Захари К
7

IIRC - это аннотация, которая предшествует аннотациям TODO или FIXME и имеет аналогичное значение. Например, это довольно часто встречается в исходниках vim.

Рейн Хенрикс
источник
6

Скорее всего, это последовательность символов, которая не встречается в обычном коде, а это означает, что ее можно легко найти из командной строки:

ravn:tmp ravn$ echo XXXX This is very bad > processor.c
ravn:tmp ravn$ echo XXXX Verify defaults before going in production > main.c
ravn:tmp ravn$ grep -R XXXX .
./main.c:XXXX Verify defaults before going in production
./processor.c:XXXX This is very bad
ravn:tmp ravn$ 

(пример для Unix, я считаю, что "findstr" делает то же самое под Microsoft Windows)


источник
4

но что вообще означает ХХХ? Это говорит "Это взлом" или, может быть, "Мы должны вернуться к этому позже"? Или это говорит что-то совсем другое?

Любой из вышеперечисленных.

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


ОБНОВЛЕНИЕ Википедии в настоящее время (2016-03-30) говорит:

Такие теги сильно различаются, но могут включать:

  • ...
  • XXX - предупредить других программистов о проблемном или неверном коде

Обратите внимание на четкие предостережения в исходном тексте. XXX может быть истолкован как намек на «XXX», который вы видите на бутылках с ядом и / или самогоном в классических комиксах, мультфильмах и т. Д.

Стивен С
источник
2

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

ладья
источник
0

Там, откуда я родом, мы используем XXX (а затем YYY, ZZZ) для чисел, которых мы еще не знаем, например: добавьте XXX к YYY, чтобы найти результат, затем добавьте 10%.

Происходит из уравнений в школе, где «х» является неизвестной переменной.

Димитриос Мистриотис
источник