池上金的技术博客

不忘初心,方得始终

将Swift项目中的TODO显示为Warning

我的代码很少注释1。但有一个例外:使用// TODO: and // FIXME:以高亮我不久后将要重新查看的代码段。这样的好处是在编辑框的条专栏弹窗里,点击一下粗体字就能跳转到该行代码。

icon1

这也有个问题,就是容易忘记。我曾经把它们记在我的todo管理里,Tings . 这又变成了重复工作。如何更好地标记这些错误呢?

杰弗里Sambells写了一篇如何在Objective-C工程中将这些注释变成Xcode Warning的文章。稍加改动,这是一个将Swift项目的TODO:和FIXME:显示为Warning的Script(应用于工程的Build Phases设置):

TAGS="TODO:|FIXME:"
echo "searching ${SRCROOT} for ${TAGS}"
find "${SRCROOT}" \( -name "*.swift" \) -print0 | xargs -0 egrep --with-filename --line-    number --only-matching "($TAGS).*\$" | perl -p -e "s/($TAGS)/ warning: \$1/"

运行一下,TODO:和FIXME:变成了醒目的警告。

icon2

比起记录在todo list的东西,这些黄色的警告总让我有莫大的冲动去清理他们,你觉得呢?

原文地址https://bendodson.com/weblog/2014/10/02/showing-todo-as-warning-in-swift-xcode-project/


  1. If your code needs commenting, it isn’t clear enough. Refactor until it is. If it doesn’t make sense because of semantics, rethink your naming conventions.