Synx —快速解决旧的/未维护的XCode项目

这是“ 全部与工具有关 ”周期 的第3条 所以,

最近,我承担了一项任务,即分析一个iOS项目并准备描述性文档,以便估算准备Android克隆所需的工作量。 尽管绝对不是最好的估算方法,但这是一个相当坚持的要求,要尽可能接近iOS应用程序体系结构进行Android克隆-以便可预测地维护两个应用程序。

我开始看这个项目,它看起来结构很规则(到目前为止非常好):

我通常要做的第一件事是根据经验,通过编写的代码量来估计复杂性。 我为此使用cloc(这也是简单但功能强大的工具):

  machine_name:目录名petr $ cloc TargetName 
517个文本文件。
501个唯一文件。
忽略105个文件。github.com/AlDanial/cloc v 1.74 T = 4.69 s(87.8文件/秒,10433.4行/秒)
-------------------------------------------------- ------------------
语言文件空白注释代码
-------------------------------------------------- ------------------
斯威夫特333 7380 4814 34714
JSON 78 0 0 2025
C / C ++标头1 2 5 1
-------------------------------------------------- ------------------
和:412 7382 4819 36740
-------------------------------------------------- ------------------

好的,333个Swift文件和34714 SLOC。 接下来我想展示的是不同应用程序部分之间的代码共享。

  machine_name:目录名petr $ cloc TargetName 
0个文本文件。
0个唯一文件。
0个文件被忽略。1个错误:
无法读取:TargetName /屏幕
su-macbook-2e23:ios_for_sigma petr $

很奇怪,检查实际目录并查看:

  ls -la TargetName |  wc -l 
429

天哪! 项目的文件夹结构不存在-只有XCode组存在。 那不是一个容易适应的情况,但是幸运的是我们有了synx —一个易于使用的XCode项目文件夹结构修复程序。

  gem install synx#如果您还没有的话 
synx * .xcodeproj

开始了!

  ls -la TargetName |  wc -l 
44
cloc TargetName /屏幕
22个文本文件。
22个唯一文件。
忽略1个文件。github.com/AlDanial/cloc v 1.74 T = 0.20 s(105.1文件/秒,44861.2行/秒)
-------------------------------------------------- ------------------
语言文件空白注释代码
-------------------------------------------------- ------------------
斯威夫特21 1420 572 6970
-------------------------------------------------- ------------------
和:21 1420 572 6970
-------------------------------------------------- ------------------

我们为UIViewController子类看到了带有6970 SLOC的21个Swift文件,因此立即很容易获得该项目的UI大小的初步线索。

我建议定期使用Synx,尤其是当您不能确保项目中的100%的代码通过同行评审时,或者您想快速组织“旧式”项目时,尤其如此。 对于在XCode中从头开始创建的新项目,它并不重要-XCode现在默认为组创建文件夹。

感谢您的阅读,希望对您有所帮助