【问题标题】:Find unused cases of an enum (Objective-C / Swift)查找未使用的枚举案例(Objective-C / Swift)
【发布时间】:2016-03-03 14:30:12
【问题描述】:

我们刚刚将 iOS 项目中的几千个本地化字符串从旧的 struct 迁移到枚举。我们现在想找出未使用的。

我正在寻找一种方法来查找在我的项目中未使用的任何 enum 案例,而不是一一搜索项目。

我们在 Objective-C 和 Swift 版本中都有字符串,所以任何一个都可以。

有什么想法吗?

【问题讨论】:

  • 不能简单的把enum值的声明注释掉试试编译吗?
  • 这会给我在任何地方使用的错误,所以我仍然需要写下所有这些,并与列表进行比较以找到那些不是 - 对吗?
  • 如果你注释掉一个枚举值并且没有编译错误,那么你就知道它没有被使用。
  • 啊,所以相反的做法。可能会奏效,但仍然比我希望的要耗时。不过值得一试。
  • 分批做。注释掉 10 并编译。查看错误并查看未报告 10 个错误中的哪些。将那些注释掉。

标签: objective-c swift enums find


【解决方案1】:

关于您唯一的选择是注释掉每个枚举值并查看哪些会导致错误。那些没有被使用的。

如果您有很多枚举值,请以 10 或 15 个为一组将它们注释掉。进行编译。扫描错误并取消注释错误报告的值。这会将未使用的枚举值注释掉。

【讨论】:

    【解决方案2】:

    有一种方法可以自动执行此操作,最近我被要求在一个大型项目中搜索未使用的端点,以使其半自动:

    1- 运行这个 grep 命令,搜索 used 端点

    grep -r --include='*.swift' "EndpointEnum"
    

    2- 使用文本编辑器(我使用 sublime),sort,使 unique 并保存到 used.txt

    3- 在all.txt

    中添加所有枚举值

    4- 两个文件之间的差异,并保持以“-”开头的行

    这将为您提供未使用的枚举值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-14
      • 1970-01-01
      • 1970-01-01
      • 2021-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多