iOS编程规范

iOS编程规范 文档版本:v1 文档编写:龚凯kk 工程目录规范 Xcode中Grunp一定要与硬盘物理目录相对应,正确姿态应该是在物理目录建立相应文件夹后拖入Xcode中,切不可直接在Xcode中直接建立Group 对于平台APP来说(集成多个产品),清晰地放置整体目录是牛X架构的开始


那么在工程中,通常一个产品对应一个目录,产品目录应该是一级目录,对应的是有多个二级模块目录,模块子级目录通常有 Controller 、 View 、 Model 、 Common ,目录结构就像这样: ├── 工程目录
│ ├── 产品1
│ ├── 产品2
│ ├── 产品3
│ │ ├── Common 通用工具类
│ │ ├── 模块1
│ │ ├── 模块2
│ │ └── 模块3
│ │ ├──Controller 视图控制器
│ │ ├──View 视图
│ │ ├──Model 数据&其他模型
│ │ ├──Common 通用工具类
│ │ └──其他目录
│ ├── 其他目录
│ ├── xxxx
│ ├── xxxx 当然,这样分在于你产品够大,如果不大可视模块对待,产品级相关规范可忽悠掉,以下就不再说明 代码规范 命名【均以驼峰法命名】 类型 格式 举例 产品目录 大驼峰 租车产品 RentCar 模块目录 大驼峰 订单模块 Order 类名 大驼峰, 须有模块名为前缀,如有分产品目录则以产品简写前缀 RCOrderListVC 表示租车产品下订单列表页面,ps为了缩短名字的长度,可以把ViewController简写成 VC 变量 小驼峰,统一使用@property成员属性定义,不要使用ivar实例变量! string,dataArray,userInfoView 常量 应 k类名XXX 格式命名 kRCOrderListVCType 函数 小驼峰 – (void)addSubview:(UIView *)view; 如有私有函数(只是内部使用的)通常以 ‘p_XXX’ 命名,放置在 Private 分类中 宏定义 全大写 VIEW_HEIGHT,VIEW_WIDTH 强烈说明,不能用中文或拼音命名!不能用中文或拼音命名!不能用中文或拼音命名!重要的事说三遍,一经发现打死,打死,打!死! 注释 开发过程中,注释需要好好的进行填写,特别是对函数的注释


一般情况下,源程序有效注释量必须在30%以上

每个.h文件中指明类的用途以及入口及参数 注意,入口以及参数应该是模块协同开发的基础,一定要通俗地指明各参数代表什么 每个.m文件中需 按块 #param mark – 分类,如常用有 #param mark – Life Clyce #param mark – UI & Event #param mark – Data #param mark – Delegate 子分类可用 #param mark – TableView 类似表示 #param mark – Private 内部私有函数 然后在每个分类中再用 #param mark 或者 \\ 标注函数的作用,函数内如有重要点,也可用 #param mark 标注出来,如登录后成功跳转主页的代码,可标注为 此处跳转主页 ,在后续维护时可以直观找到 经外部调用的函数必须说明函数的具体信息,这样调用者看到则清晰明了 /**
日志输出
注意,只有DEBUG情况下才会输出,否则写入本地待情况成熟时发送至服务器
– parameter msg: 日志信息
*/
func log(msg:String){
if(DEBUG){
print(msg)
}else{
writelog(msg)
}
} 模块耦合度 通用类放置 从前面的目录结构看到,不管是产品目录还是模块目录都有一个 Common 的存在,一般是这样,一个Common类只被同一个模块内的文件引用到,那么则放置到模块内的 Common 中,如果有被其他模块引用,则向上一级目录的 Common 中放置,比如说,租车产品中的订单模块中引用到了产品模块中的相关类,则把相关类向上一级放在租车目录下的 Common 中 视图控制器之间的交互可以通过 Delegate 对于一些全局性的交互触发,可以采用 NSNotification 来实现,如,登录成功刷新所有用户相关的页面 MVC开发 严格按照 业务 – 数据 – 模型 的方式编码,当然,模型这层可用Array&Dictionary代替




欢迎投稿 职场/创业方向. 邮箱wangfzcom(AT)163.com:王夫子社区 » iOS编程规范

    标签:

点评 0

评论前必须登录!

登陆 注册