IOS代码重构(一)目录结构调整

老项目经过几手之后,往往乱的不成样子,不整理实在是看着不清爽,开发维护也很困难。

再次有几个建议:

1 一个项目应该遵从一个代码架构。不能来个新人,或做个新功能就加一个新的开发架构。

2 代码评审的重要性。在新人实习的三个月内,要对其详细讲解代码架构,使其理解,并对其提交的代码作评审,防止其另立门户,给后续代码维护买下隐患。如果有更好的建议,可以沟通之后,由系统架构师添加到项目中。

有没有遇到如下问题:

1 文件夹换个位置,代码无法提交SVN。

2 删除某个不用的文件或文件夹,代码无法提交SVN。

3 修改文件夹名,代码无法提交SVN。


怎样修改目录结构,才能正确提交代码?

SVN管理下的代码如果动目录结构要小心,不能直接在文件系统下删除,移动,修改文件名。

因为在本地修改了文件名后,提交时,服务器是不知道你修改了哪个文件,只知道你提交了一个新的文件名。

应该在SVN下操作。如果用CornerStone,应该在Repositories下操作。对文件夹改名,删除,文件移动。

然后再到Working Copies下更新。再到Xcode下重新组织。


常见操作引起的冲突

如开始目录结构如下

Common-

ASIHTTPRequest-

ColorManager-

Mantle-

MBProgressHUD

ThirdLib-

我想把 ASIHTTPRequest- 放到 ThirdLib


我一开始的操作步骤是这样

我在Finder中把ASIHTTPRequest拖到ThirdLib

Xcode中,Common目录下删除引用,再在ThirdLib下添加ASIHTTPRequest

SVN提交,报错,删除的ASIHTTPRequest目录找不到

如果此时,再到Common下新建ASIHTTPRequest目录

SVNCommon\ASIHTTPRequest目录变为绿色的~,有冲突了,

此时提交,说被锁定,撤销也不好使。

此时解决办法是删掉本地库,重新CheckOut, 重新操作。


正确的操作步骤:

Xcode中,Common目录下删除引用ASIHTTPRequest,提交SVN

  在Finder中,把ASIHTTPRequest复制到ThirdLib

CornerStone,在Repositories下删除ASIHTTPRequest

在Xcode中,ThirdLib下添加ASIHTTPRequest,提交SVN。







  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值