我有一个很大的项目,其中包含许多Objective C和Swift文件。 有一个Constants.h文件,其中包含许多带有#define的常量。看起来像这样:
#define kConstant1 @"constant1"
#define kConstant2 @"constant2"
#define kConstant3 @"constant3"
#define kConstant4 @"constant4"
...
在项目中,有许多使用这些常量的文件(Swift和Objective C)。不幸的是,代码中也没有任何文件使用常量,因此它们是未使用的变量。我想找出使用哪些常量,哪些不使用,删除不使用的常量。该文件中约有3000个常量,因此手动搜索每个常量的代码将花费很长时间。
还有其他方法可以找出代码使用了哪个#define变量吗?
答案 0 :(得分:1)
三个建议:
下载JetBrains AppCode,然后尝试通过其诊断程序运行代码。 AppCode工具可能会找到未使用的常量。
编写一个脚本来遍历每个文件,并检查是否存在常量。如果找到一个常数,则将其标记为找到。检查所有文件后,未标记的内容都可以删除。您可以使用任何所需的脚本(bash,ruby,python,swift等)编写此脚本,还可以对常量进行硬编码或从Constants.h文件中提取常量。
逐个注释或删除每个常量,然后构建项目。如果在项目中使用了您删除的常量之一,则编译器将引发错误。
不幸的是,这里没有魔术子弹。从根本上讲,这是一个耗时的过程。 :(