忘不了的 TODOS & FIXMES & ERRORS

栏目: Perl · 发布时间: 5年前

内容简介:大家好,我是泰戈尔,一个集美貌与智慧于一身的美男子。今晚大萌鱼出去团建了,喝了点酒已经没有意识了。今晚的文章也就只能由我来操刀了。又是一个暴风大雨的日子,美股的瀑布来得也比往常更猛烈了些。此情此景,我想吟诗一首:“瀑布就像蓝天白云,晴空万里,突然暴风雨,无处躲避,总是让人,始料不及。”在这么一个暴雨的日子里,大萌鱼跟往常一样编写着代码,改着bug,一切看似都很棒。就这那时,大萌鱼发现了之前标记的一个
忘不了的 TODOS & FIXMES & ERRORS

大家好,我是泰戈尔,一个集美貌与智慧于一身的美男子。今晚大萌鱼出去团建了,喝了点酒已经没有意识了。今晚的文章也就只能由我来操刀了。

又是一个暴风大雨的日子,美股的瀑布来得也比往常更猛烈了些。此情此景,我想吟诗一首:“瀑布就像蓝天白云,晴空万里,突然暴风雨,无处躲避,总是让人,始料不及。”

在这么一个暴雨的日子里,大萌鱼跟往常一样编写着代码,改着bug,一切看似都很棒。就这那时,大萌鱼发现了之前标记的一个 TODO :

//TODO: Temporary plan, refactor later
复制代码

然鹅距离上次标记,时间过去了大半年,我们的大萌鱼早已把这个重构的事情抛之脑外,焦急的大萌鱼挠了挠头,心想:“这特么就很尴尬了啊!”。这时候泰戈尔正好私聊过来拼夕夕瀑布的事,于是大萌鱼就把刚才困惑告诉了泰戈尔。

忘不了的 TODOS & FIXMES & ERRORS

一般在我们编写代码时,有时候需要标记什么地方待做的,什么地方需要修复的,我们现在可能没时间修改,那就需要标记一下,以便以后查阅修改。

Xcode也给我们提供了三种实用的简易标记,即 MARKTODOFIXME ,现在这些在 Objective-C 或者 Swift 环境下都是可以使用的。需要注意的是 MARKTODOFIXME 均必须大写,Xcode将会在代码中寻找这样的注释,然后以粗体标签的形式将名称显示在导航栏,就如同我们会用 “#pragma mark -” 符号来标记代码区间一样的道理。

MARKTODOFIXME 用法如下:

//TODO: 标记将来要完成的内容
//MARK: 标记一件事情
//FIXME: 标记以后要修正或完善的内容
复制代码

效果如下:

忘不了的 TODOS & FIXMES & ERRORS

此外还有以下一种标记,Xcode 也是支持的:

// ???:  疑问的地方
/// !!!: 需要注意的地方
复制代码

然鹅,只是有上面的粗体标签标记的话是远远不够的,在没有:warning:或者:x:的提示情况下,开发者很容易就会把之前的标记给忘掉,就跟我们的大萌鱼一样。

那么怎么实现添加自定义的标识,并在编译时,在 warning 或者 error 中显示出来呢?答案就是在 run script build phases 中添加一段 shell 脚本:

  1. 切换到 target-->build phases-->editor-->add run script build phases
忘不了的 TODOS & FIXMES & ERRORS
  1. 把下面的代码粘贴到 shell 框中
TAGS="TODO:|FIXME:|WARNING:"
ERRORTAG="ERROR:"
find "${SRCROOT}" \( -name "*.h" -or -name "*.m" -or -name "*.swift" \) -print0 | xargs -0 egrep --with-filename --line-number --only-matching "($TAGS).*\$|($ERRORTAG).*\$" | perl -p -e "s/($TAGS)/ warning: \$1/"| perl -p -e "s/($ERRORTAG)/ error: \$1/"
复制代码
忘不了的 TODOS & FIXMES & ERRORS

设置完 shell 脚本后,编译代码, WARNINGTODOFIXME 就会出现相应的:warning:,而 ERROR 就会被当错编译:x:来处理。

忘不了的 TODOS & FIXMES & ERRORS

有些人会问了,费这么老大劲,为什么不直接用 #warning 来标记呢?这就仁者见仁,智者见智了。仔细观察下面图中的区别,你就能发现其中的奥妙。

忘不了的 TODOS & FIXMES & ERRORS

另外在团队协作开发的过程中,对于有些开发者来说,:warning:对他们来说是零容忍的,如果频繁使用 #warning ,会狠狠的刺痛他们的心扉~

忘不了的 TODOS & FIXMES & ERRORS

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

剑指Offer

剑指Offer

何海涛 / 电子工业出版社 / 2012-1 / 45.00元

《剑指Offer:名企面试官精讲典型编程题》剖析了50个典型的程序员面试题,从基础知识、代码质量、解题思路、优化效率和综合能力五个方面系统整理了影响面试的5个要点。全书分为7章,主要包括面试的流程,讨论面试流程中每一环节需要注意的问题;面试需要的基础知识,从编程语言、数据结构及算法三方面总结了程序员面试的知识点;高质量的代码,讨论影响代码质量的3个要素(规范性、完整性和鲁棒性),强调高质量的代码除......一起来看看 《剑指Offer》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码