XXX在评论中是什么意思?[关闭]


71

人们XXX在评论中看到的一般含义是什么。有时,我会看到这样的评论:

# XXX - This widget really should frobulate the whatsit

当然,我可以说出评论的含义,但是XXX通常是什么意思?是说“这是黑客”还是“也许我们以后应该重温”?还是完全说了其他话?



qaz个人使用。易于输入,并且在40多年的编码中,它从未在我的代码中自然发生,因此我可以轻松地进行搜索。而不是FixMe:或ToDo:我将其用于快速的实验性破解,如果无法解决,我可以轻松地将其撤消。但是我qaz永远致力于源头控制,而FIXME:或TODO:或XXX可能。
Mawg '16

我注意到流星的代码库中有很多旧的XXX注释...关于它的肮脏秘密的评论不断。似乎他们使用某种工具自动将其从发货的代码中删除!
安迪

Answers:


68

XXX代表什么,取决于代码的作者。通常,它用作需要注意的代码的标记

但是,此网页陈述了一些不同的思路:

XXX:用于标记虚假但有效的内容

FIXME:用于标记虚假和损坏的东西

我猜这进一步表明,其含义尚不明确,使用方式也有所不同。


12
HACK将替代XXX
理查德

1
链接已断开:(
杰克

1
FIXME: link broken
onewhaleid

1
HACK不能替代XXX。XXX注释标志的历史悠久,从本质上讲是有效的内容,但需要注意(虚假但有效)。
Brill Pappin

98

这是一段肮脏的代码;)


20
这是一个有趣的答案还是一个有趣而正确的答案?
koenmetsu

4
哦,那些顽皮的程序员
aeracode

@koenmetsu有趣而准确。这是错误的,但目前效果很好,因此并非完全错误。“脏”是对某些有用但不完全正确(即干净)的东西的恰当描述。
Iiridayn

21

根据Wikipedia:“ XXX可以警告其他程序员有问题或错误引导的代码。” -可能是从容器上标有“ xxx”的毒药拉出来的;超级老学校。

如果是TODO注释,这是一篇与之相关的博客文章,称为TODO或非TODO,涉及使用GREP按日期,所有者等对评论进行排序。


13

这不代表任何意思。它只是一个字符序列,在视觉上与众不同(这使视觉上的扫描变得容易),并且不太可能出现在代码或注释中(这使得以编程方式进行搜索变得容易)。

因此,它用作标记需要易于搜索的注释的标记。通常,它标记了一段需要重新审查的代码。


2
也很容易找到使用grep或类似
扎卡里ķ


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通常是什么意思?是说“这是黑客”还是“也许我们以后应该重温”?还是完全说了其他话?

以上任何一项。

XXX与TODO或FIXME或HACK或其他方式的选择不受任何严格的规则或约定约束。基本上,它意味着将其放置在此处的人所意图的意思。这可能很明显……或者可能对您完全不透明。


UPDATE Wikipedia当前(2016-03-30)说:

这些标签差别很大,但可能包括:

  • ...
  • XXX-警告其他程序员有问题或错误引导的代码

请注意原始文本中的明确警告。XXX可以解释为您在经典漫画,卡通等中的毒药和/或月光瓶上看到的“ XXX”的代名词。


2

它很可能是以后可以找到的标记。与TODO或FIXME等类似,XXX在任何单词或构造中都很少见,因此使其非常适合在搜索文件时独立存在的标记。


0

我来自哪里,我们使用XXX(然后使用YYY,ZZZ)表示尚不知道的数字,例如:将XXX添加到YYY以查找结果,然后再添加10%。

源自学校的方程,其中“ x”是未知变量。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.