iOS 项目的文件夹结构能看出你的开发经验
近期有师弟去面试iOS开发,他谈论到,面试官既然问他怎么分文件夹结构的,并且还详细问到每一个子文件夹的文件名称。
文件夹结构确实非常重要。面试官问他这些无疑是想窥探他的开发经验。清晰的文件夹结构,可让人一眼知道相应文件夹的职能。这也能体现开发人员的经验和架构能力。
眼下。我接触过的项目中,比較常规的两种结构: 
1.主文件夹依照业务分类,内文件夹依照模块分类(主文件夹依照MVC架构分类。内部依据项目模块分类)
长处:能比較快定位相应的业务。
缺点:模块相关类太过分散。须要来回切换文件,不方便开发。
2.主文件夹依照模块分类,内文件夹依照业务分类
长处:对某一模块用到的类集中化。方便管理与开发,对新手来说。不用来回在其它文件里切换、寻找相应的模块类。
缺点:当几个模块公用一些类时,不太好归类。
比方简书iOS程序文件夹分类(非官方):
- 1.主文件夹依照业务分类,内文件夹依照模块分类
 
- 2.主文件夹依照模块分类。内文件夹依照业务分类
 
注意: 以上仅仅是我个人经验得出的分类,肯定会有其它开发人员是不赞同的,或有自己的见解。我虚心接受各位的意见,毕竟此类资源相对照较少。
网上也非常少有开源整个项目的,所以大家在这方面的经验得不到交流。
iOS 项目的文件夹结构能看出你的开发经验的更多相关文章
- Android 项目中文件夹的说明与作用(转)
		
(转自:http://blog.csdn.net/goodshot/article/details/11529731) Android 项目中文件夹的作用 1. src:存放所有的*.java源程序. ...
 - 如何使用vs将现有的项目或者文件夹(尤其是多层目录的)添加到项目中
		
困扰我这么久的问题,哎,真心弱爆了! 1.将现有项目或文件夹拷贝到指定目录下 2.解决方案右上有个显示所有文件的按钮 然后选中所有要添加的文件,右击 选择包含到项目中即可
 - log4j日志输出到web项目指定文件夹
		
感谢 eric2500 的这篇文章:http://www.cxyclub.cn/n/27860/ 摘要:尝试将log4j的文件日志输出到web工程制定目录,遇到了很多问题,最终在eric2500的指导 ...
 - linux 下用renameTo方法修改java web项目中文件夹名称问题
		
经测试,在Linux环境中安装tomcat,然后启动其中的项目,在项目中使用java.io.File.renameTo(File dest)方法可行. 之前在本地运行代码可以修改,然后传到Linux服 ...
 - js配置文件路径和项目目录文件夹位置的一致性
		
在js文件引入的时候注意配置文件的路径是否和项目目录中的文件夹位置一致,如果不一致, 浏览器会指出找不到文件404的情况
 - Android 项目中文件夹作用(res文件夹详细介绍)
		
1. src:存放所有的*.Java源程序. 2. gen:为ADT插件自动生成的代码文件保存路径,里面的R.java将保存所有的资源ID. 3. assets:可以存放项目一些较大的资源文件,例如: ...
 - 关于idea中新建web项目  webapp文件夹没有小蓝点 ,启动服务,访问不到解决方案
		
第一步: 选中项目按F4键,找到你的项目. 第二步: 选中项目下的web,如果没有web点击左上角的加号,找到web最下面,添加进去 第三步: 点开type下的节点,出来弹框, 第四步: 点击弹框的选 ...
 - eclipse如何把多个项目放在文件夹下,用文件夹分开不同的项目
		
在Package Explorer顶部的右侧有有机表图标按钮,点击倒三角 Top Level Elements->Working Set.此时就会发现,很多项目会自动纳入一个文件夹,这个文件夹的 ...
 - 如何向MyEclipse项目的文件夹中添加JSP页面?
		
1.鼠标选中该文件夹:2.鼠标右键单击该文件夹,选择“new->file”菜单项,创建一个空白文件:3.将JSP页面的所有源代码全部复制到该文件4.单击工具栏的“保存”按钮
 
随机推荐
- 根据ID和parentID利用Java递归获取全路径名称
			
如下图所示,本文参考资源:https://jie-bosshr.iteye.com/blog/1996607 感谢大佬的无私奉献. 思路: 定义一个方法getParentName参数为int类型的c ...
 - 手动挂接NFS
			
环境: 单板:s3c2440 内核:Linux-2.6.22.6 U-boot1.16 初始根文件系统Yaffs2 前提条件 1. 开发板上要烧写好文件系统 2. 能正常开机进入Linux系统 3. ...
 - Python Unittest模块测试执行
			
记录一下Unittest的测试执行相关的点 一.测试用例执行的几种方式 1.通过unittest.main()来执行测试用例的方式: if __name__ == "__main__&quo ...
 - git提交代码到本地仓库和远程仓库
			
5.commit代码到本地git仓库 选中需要 Commit 的项目,右键->Team->Commit, 填写相关的 Commit message,并选择需要提交的 Files ...
 - STM32W108无线射频模块串行通信接口编程实例
			
STM32W108无线射频模块UART通信应用实例 基于STM32W108芯片,编写串口測试程序,測试串口通信.完毕PC通过串口与STM32W108进行通信. 开发环境与硬件平台 硬件:STM32W1 ...
 - 手把手教你用NDK9编译ffmpeg2.4.2
			
编译环境: 32位 ubuntu12.10 android-ndk-r9c-linux-x86.tar.bz2 ffmpeg-2.4.2.tar.bz2 网上的教程都是以低版本号ffmpeg编译居多. ...
 - php线性表数组实现的删除操作
			
php线性表数组实现的删除操作 一.总结 1.array_pop(): 函数删除数组中的最后一个元素. 二.代码 代码一: //线性表的删除(数组实现) function delete_array_e ...
 - solr/lucence和关系数据库的混合使用
			
我们知道solr提供了一个DIHandler,提供将关系数据库中的数据导成索引,然后使用solr查询. 对于一个大表中关联数个小表的查询,这非常耗费时间. 我的思路是: 1. 将一个大表做成索引,使用 ...
 - 关于laravel框架分页报错的问题
			
因为laravel框架有自己的分页封装,所以与其他框架相比laravel框架的分页的实现要方便的多 只要分别在php脚本与视图中使用 $data=DB::table('index_pic')-> ...
 - Leetcode-求两数之和
			
题目: 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但是,你不能重复利用这个数组中 ...