如何检查项目中是否使用了常量

时间:2018-07-04 12:13:47

标签: objective-c swift code-analysis

我有一个很大的项目,其中包含许多Objective C和Swift文件。 有一个Constants.h文件,其中包含许多带有#define的常量。看起来像这样:

#define kConstant1  @"constant1"
#define kConstant2  @"constant2"
#define kConstant3  @"constant3"
#define kConstant4  @"constant4"
...

在项目中,有许多使用这些常量的文件(Swift和Objective C)。不幸的是,代码中也没有任何文件使用常量,因此它们是未使用的变量。我想找出使用​​哪些常量,哪些不使用,删除不使用的常量。该文件中约有3000个常量,因此手动搜索每个常量的代码将花费很长时间。

还有其他方法可以找出代码使用了哪个#define变量吗?

1 个答案:

答案 0 :(得分:1)

三个建议:

  1. 下载JetBrains AppCode,然后尝试通过其诊断程序运行代码。 AppCode工具可能会找到未使用的常量。

  2. 编写一个脚本来遍历每个文件,并检查是否存在常量。如果找到一个常数,则将其标记为找到。检查所有文件后,未标记的内容都可以删除。您可以使用任何所需的脚本(bash,ruby,python,swift等)编写此脚本,还可以对常量进行硬编码或从Constants.h文件中提取常量。

  3. 逐个注释或删除每个常量,然后构建项目。如果在项目中使用了您删除的常量之一,则编译器将引发错误。

不幸的是,这里没有魔术子弹。从根本上讲,这是一个耗时的过程。 :(