我有一个iPhone应用程序,包含几个视图及其相关的控制器.查看示例代码,我已经看到了组织这些文件的不同方法 - 将所有视图分组,然后将所有控制器分组,或者按功能对视图和控制器进行分组.
选项1 - 视图和控制器分开分组
-Views | - EditItemView.h - EditItemView.m - AddItemView.h - AddItemView.m -Controllers | - EditItemViewController.h - EditItemViewController.m - AddItemViewController.h - AddItemViewController.m
选项2 - 按功能分组的项目
-AddItem | - AddItemViewController.h - AddItemViewController.m - AddItemView.h - AddItemView.m -EditItem | - EditItemViewController.h - EditItemViewController.m - EditItemView.h - EditItemView.m
从MVC的角度看,选项1似乎更有意义 - 代码组合在一起,但我想知道随着应用程序增长到10多个视图和控制器,这是最合乎逻辑和可维护的吗?围绕这个是否有最佳实践建议?目前,我将是唯一一个维护应用程序的人,但不管是否会有多个开发人员,我希望尽可能多地使用最佳实践.是否有关于此的公布标准?
我正在研究一个大型的xCode项目.它不适用于iPhone,但我不认为这对于文件结构布局而言至关重要:)
我从选项#1开始,后来当文件数量增加时转移到选项#2.我倾向于通过"接口"对事物进行分组,即,与应用程序内特定功能区域相关联的所有源,然后在需要时为更大的部分创建子组.
就命名而言,我更喜欢使用尽可能少的类名称来识别模型,视图和控制器,因此我的类名看起来类似于:
AM_DillPickle // model class AV_Sasquatch // view class AC_DirtBike // controller class
这仍然允许快速目视检查以查看类的类型(M,V或C),但它为名称的描述部分留出了更多空间.
我还发现指定一些不适合MVC模式的类很有用(喘气!):
AU_Helper // utility class (text formatting, high-level math, etc.) AD_Widget // device class (used to represent hardware drivers)
无论如何,这已经是你所要求的更多信息,但我发现命名问题与布局问题有关,因为真正的问题是:为大型xCode项目组织代码的最佳方法是什么?
希望能帮助到你.以下是放在一起时的外观:
[+] Project [-] Target One [+] Target Two [-] Preferences [-] Login [+] Main Window # MainWindow.XIB # AC_MainWindow.h # AC_MainWindow.m # AC_DisplayScreen.h # AC_DisplayScreen.m [-] Home Screen # HomeScreen.XIB # AC_HomeScreen.h # AC_HomeScreen.m # AV_FancyDisplay.h # AV_FancyDisplay.m [+] Widget Screen [+] Other Screen