如何检查项目中是否使用常量
How to check if constant is used in project
我有一个包含许多 Objective C 和 Swift 文件的大项目。
有一个 Constants.h 文件,其中包含许多带#define 的常量。它看起来像这样:
#define kConstant1 @"constant1"
#define kConstant2 @"constant2"
#define kConstant3 @"constant3"
#define kConstant4 @"constant4"
...
项目中有许多文件(Swift 和 Objective C)使用了这些常量。不幸的是,还有一些常量没有被代码中的任何文件使用,所以它们是未使用的变量。我想找出哪些常量被使用,哪些没有被使用,删除那些没有被使用的常量。此文件中大约有 3000 个常量,因此手动搜索每个常量的代码会花费很长时间。
有没有其他方法可以找出代码使用了哪个#define变量?
三点建议:
下载 JetBrains AppCode 并通过其诊断尝试 运行 您的代码。 AppCode 工具可能会找到未使用的常量。
编写脚本遍历每个文件并检查是否存在常量。如果找到常量,则将其标记为已找到。检查完所有文件后,可以删除没有标记的文件。您可以用任何您想要的形式编写此脚本——bash、ruby、python、swift 等——并且您可以将常量硬编码到其中或提取它们来自 Constants.h 文件。
逐一注释或删除每个常量并构建项目。如果项目中使用了您删除的常量之一,编译器将抛出错误。
不幸的是,这里没有灵丹妙药。这基本上是一个耗时的过程。 :(
我有一个包含许多 Objective C 和 Swift 文件的大项目。 有一个 Constants.h 文件,其中包含许多带#define 的常量。它看起来像这样:
#define kConstant1 @"constant1"
#define kConstant2 @"constant2"
#define kConstant3 @"constant3"
#define kConstant4 @"constant4"
...
项目中有许多文件(Swift 和 Objective C)使用了这些常量。不幸的是,还有一些常量没有被代码中的任何文件使用,所以它们是未使用的变量。我想找出哪些常量被使用,哪些没有被使用,删除那些没有被使用的常量。此文件中大约有 3000 个常量,因此手动搜索每个常量的代码会花费很长时间。
有没有其他方法可以找出代码使用了哪个#define变量?
三点建议:
下载 JetBrains AppCode 并通过其诊断尝试 运行 您的代码。 AppCode 工具可能会找到未使用的常量。
编写脚本遍历每个文件并检查是否存在常量。如果找到常量,则将其标记为已找到。检查完所有文件后,可以删除没有标记的文件。您可以用任何您想要的形式编写此脚本——bash、ruby、python、swift 等——并且您可以将常量硬编码到其中或提取它们来自 Constants.h 文件。
逐一注释或删除每个常量并构建项目。如果项目中使用了您删除的常量之一,编译器将抛出错误。
不幸的是,这里没有灵丹妙药。这基本上是一个耗时的过程。 :(