iOS 项目目录结构
2016-01-22 16:42
375 查看
iOS 项目的目录结构能看出你的开发经验
最近有师弟面试iOS开发,他很吃惊地跟我说,面试官竟然问他怎么分目录结构的,还具体问每个子目录的文件名。
目录结构确实非常重要,面试官这么问他,无疑是想窥探他的开发经验。清晰的目录结构,可让人一眼明白相应的业务和职能,这也能体现开发者的经验和架构水平。
目前,我接触过的项目中,比较常规的两种结构:
1.主目录按照业务分类,内目录按照模块分类(主目录按照MVC架构分类,内部根据项目模块分类)
优点:相对比较快定位对应的业务。
缺点:模块相关类太过分散,需要来回切换寻找文件,不方便开发。
2.主目录按照模块分类,内目录按照业务分类
优点:对模块的类集中化,方便管理与开发。
缺点:当几个模块共用一些类时,不太好归类。
假设对简书iOS应用目录分类(非官方):
1.主目录按照业务分类,内目录按照模块分类
![](http://upload-images.jianshu.io/upload_images/295346-94f1461a7ee68d10.png?imageMogr2/auto-orient/strip%7CimageView2/2)
2.主目录按照模块分类,内目录按照业务分类
![](http://upload-images.jianshu.io/upload_images/295346-810d6b1cfcb46994.png?imageMogr2/auto-orient/strip%7CimageView2/2)
注意: 以上两种分类不是绝对的,具体还得按照业务需求去归类。如果公司多项目的话(指外包公司,哈~),可以尝试按照自己的逻辑去归类,或可以多观察下身边大牛搭建的项目,会吸取到其中的奥秘。代码也一样,多看看大神写的,甚至可以直接模仿大神的代码风格,别人也会把你当做大神!
ps:有评论说,目录备注中文名感觉就lo了。确实开发中,一些非常有经验的程序员,不会这么干,甚至在代码中也很少中文注释。但个人觉得,普通或中高级工程师真滴很有必要多些注释,由于经验少,变量和方法名可能都命名不好,很多用googl翻译直译,甚至自己到审查代码时都不能直译出来。多谢注释好处就是就算你看不懂我写的代码,也一定能让你知道这是干什么滴(万不得己时,哈~),方便自己也方便别人!最后,目录没有真正的好坏之分,只要适用于自己的业务,就是好的目录!
iOS 万能跳转界面方法 (runtime实用篇一) - 简书
— 在开发项目中,会有这样变态的需求: 推送:根据服务端推送过来的数据规则,跳转到对应的控制器 feeds列表:不同类似的cell,可能跳转不同的控制器(嘘!产品经理是这样要求:我也不确定会跳转哪个界面哦,可能是这个又可能是那个,能给我做灵活吗?根据后台返回规则任意跳转?) ...
汉斯哈哈哈・ www.jianshu.com →
iOS 宏(define)与常量(const)的正确使用 - 简书
— 在iOS开发中,经常用到宏定义,或用const修饰一些数据类型,经常有开发者不知怎么正确使用,导致项目中乱用宏与const修饰 你能区分下面的吗?知道什么时候用吗? define HSCoder @"汉斯哈哈哈" NSString HSCoder = @"汉斯哈哈哈"; extern N...
汉斯哈哈哈・ www.jianshu.com →
iOS 浅谈:深.浅拷贝与copy.strong - 简书
— 浅谈:深.浅拷贝与copy.strong 深.浅拷贝 copy mutableCopy NSString NSString string = @"汉斯哈哈哈"; // 没有产生新对象 NSString copyString = [string copy]; // 产生新对...
相关文章推荐
- iOS开发 - 响应者链触摸事件(一)
- iOS 开发 nib , xib, storyboard 区别
- iOS 友盟分享
- iOS--资料--开源收集
- iOS滑动tableView来改变导航栏的颜色
- [IOS]二维曲线图表
- github上前100的ios项目
- iOS中如何优化Cell中图片的下载性能
- iOS 开发 -- 常见坑(PCH问题)
- IOS启动动画
- iOS毛玻璃(虚化)效果
- 有关于iOS测试证书问题
- iOS怎样导出IPA包
- iOS中全局悬浮按钮,类似IPhone中的AssistiveTouch
- IOS开发知识(九)
- IOS开发知识(八)
- IOS开发知识(七)
- 常用的iOS第三方资源
- iOS Xib 和 storyboard 相关
- IOS视屏播放过程中横竖屏切换