在代码中我经常看到这个,即使是 vim 也将其标记为特殊情况。#TODO
和 #FIXME
是 vim 高亮显示的两个其他修复标记,但是 #XXX
意味着什么?
在代码中我经常看到这个,即使是 vim 也将其标记为特殊情况。#TODO
和 #FIXME
是 vim 高亮显示的两个其他修复标记,但是 #XXX
意味着什么?
在注释中出现的XXX
通常表示需要注意的地方,可能是:
我通常更喜欢使用更具描述性的标签,如FIXME
、TODO
或HACK
。 XXX
通常用作上述情况的通用标记。
在FreeBSD代码交叉引用中搜索“XXX”可以很好地说明其多种用途。有成千上万个...
TODO
或XXX
),但这就是我的理解。 - IiridaynNOTE
:描述代码如何工作(当不是自我明显时)。XXX
:关于可能存在的问题的警告,可以使用NOTE:XXX:
。HACK
:用于绕过问题/错误的不太好编写或格式不正确的代码。应该使用HACK:FIXME:
。FIXME
:虽然可行,但可以更好地完成(通常是匆忙编写需要重写的代码)。BUG
:这里有个问题。TODO
:没有问题,但需要编写其他代码,通常是在跳过某些内容时。至少这就是我学习这些标记的方式。基本上前两个标记(NOTE
和XXX
)用于提供信息,不需要采取任何行动。而最后三个标记(FIXME
,BUG
和TODO
)需要采取行动。HACK
介于两者之间(我认为几乎从未使用?)。
LAZY
(不像FIXME或HACK那样关键)和 OCD
(过分设计)。 - SineSwiper一些来自2005年6月被拒绝的Python Enhancement Proposal的笔记。
在
FIXME
和XXX
之间进行选择很困难。
XXX
似乎更常见,但描述性更差。
此外,在代码片段中,XXX
是一个有用的占位符
具有未知值。因此,
FIXME
是首选拼写方式。
Sun表示XXX
和FIXME
略有不同,将XXX
的严重程度提高。
但是,由于数十年来这个主题的混乱,以及太多数量的开发人员不会受到Sun的影响,因此可以正确地称它们为同义词。
PEP的开头是,
这个PEP已被拒绝。虽然社区可能感兴趣,但没有意愿使标准库符合此标准。
...
「什么是Codetags?」 程序员广泛使用临时代码注释标记约定,作为需要更密切检查或审查的代码部分的提醒。标记的示例包括「FIXME」、「TODO」、「XXX」、「BUG」,但在现有软件中还有许多其他标记被广泛使用。这些标记将在此后称为「codetags」。这些「codetags」可能出现在应用程序代码、单元测试、脚本、常规文档或任何适当的地方。PEP是一份有趣的阅读材料。
请查看PEP350,它解释了所有的TODO
、XXX
等。当我记不清其中一个代码标签的含义时,我每天都会使用它。
来源于(旧版)Java 代码规范:
在注释中使用XXX标记某些看似可行但实际上是错误的事情。使用FIXME标记某些看似可行但实际上是损坏的事情。
我使用XXX
,因为它比TODO
更容易输入。
XXX
用于当你匆忙时,会自己回来处理这个任务。
TODO
用于当你需要将任务交给别人处理时。
FIXME
是给开发者用的,HACK
是给维护者用的,而XXX
则是给用户用的。XXX
并在其他地方调用该函数,而不了解它的工作原理,可能会发生意外情况,处理此问题的人会感到不满(至少添加了 XXX
的人是这样认为的)。你可能认为,如果您不使用此函数,则问题将消失。FIXME
,您会觉得修复代码以使其正常工作是值得的。对于 HACK
,即使您不使用它,可能也没有更好的选择。XXX
,而某人使用了它,您可能会因为完全重写了该代码并且它表现出完全不同的方式而感到不满,并且您破坏了别人的代码。但是,如果您使用 FIXME
或 TODO
代替,则不会那么在意。XXX是caveat的缩写,与NOTE略有不同,但与HACK非常相似。它可能是第三方库/代码中的错误,带有// XXX:的代码表示它要么是由于第三方代码中的错误而进行的解决方法,要么是向正在查看/修改代码的人发出“警告”,以说明为什么以某种方式完成某些操作,否则这些操作可能在第一次查看/使用时似乎不正确/不优雅。HACK是一个通用术语,意味着解决问题的解决方法,该问题可能存在于您自己的代码库或第三方库中。