程序中的TODO、XXX、FIXME标签

来源:互联网 发布:单片机专家 编辑:程序博客网 时间:2024/06/06 21:25

1、为什么要使用这些标签?

我认为在程序中使用TODO、XXX、FIXME这些标签应该算是一件好事。

理由有如下两个方面:
1、 这些标签能够提醒编程人员,当前位置应该所做的事情,以便对程序进行改进。
2、 这些标签很容易被查找。有些IDE工具甚至为这些标签设置了高亮。

    比如,XCode就会在左侧边框的警告/错误列表中将这些标签显示出来。(只有第二种方式,具体往下看)


2、三个标签分别是用来干什么的?

其实怎么使用这些标签因人而异,因为使用标签的目的只是为了提醒编程人员在什么样的情况下应该对代码进行什么样的处理。

在这里我只讲一下大多数人的用法,也是比较推荐的一种用法:

1、TODO:等待要实现的功能。

例如在团队协作的工程中,程序员A需要实现程序中的两个功能,但是在A只实现了一个功能的时候就需要将代码提交到SVN上。这种情况,A就可以在要实现的第二个功能的代码处使用TODO标签。这样做一来可以提醒团队中的其他人此处有功能未实现,需要留下该位置有待以后实现,另一方面可以提醒自己此处有功能需要实现。

2、XXX:有待改进的功能。

以我以前的例子为例。当时做IOS项目时,急需找到一个对HTML一边解析一边修改内容的三方框架。但是一直没能找到。所以我使用了一个比较折中的方式来解决。但是一直感觉此处的实现有待商榷,并不完美。所以我在此处使用了XXX,用来提醒自己在找到好的解决方案后要及时改进代码。

3、FIXME:需要修正的功能。

还是拿我工作的例子为例。我本身在一个外包公司工作。当时接手一个IOS项目。这个项目的需求比较变态,他让我加一个改变URL请求地址的功能,但是此功能只用来调试,在程序发布的时候要删除此功能。所以我在写程序时,在release状态下隐藏此功能,在debug状态下显示此功能。后来对方在做最终测试的时候让我先把程序改成在release状态下也能显示此功能。

所以现在的需求就是,我本身的代码没问题,但是为了配合他们的测试,需要先将代码更改一段时间,等最终版本发布的时候还要改回去。所以,在这种情况下,我在此处打了FIXME标签,用来提醒我此处的代码只是暂时修改,需要在发版本的时候进行修正。


3、 三个标签分别怎么使用?

两种使用方法:

1、以在Xcode中为例,此种方式不会在警告列表中显示

/* TODO: How about auto-correcting small spelling errors? */
/* FIXME: This won't work if the file is missing. */
/* XXX: This method badly needs refactoring: should switch by core type.  */

2、以在Xcode中为例,此种方式会在警告列表中显示

#warning TODO: How about auto-correcting small spelling errors?
#warning FIXME: This won't work if the file is missing.
#warning  XXX: This method badly needs refactoring: should switch by core type. 
   

0 0