iOS代码规范

前言

开发iOS至今已经有一年多的时间了,一直没有对代码做一个比较好的规范,最近公司人手逐渐增多,每个人写的代码都是无花八门,看着十分不习惯。于是综合网上一些人的经验和自己的一些编程习惯,总结出了如下的iOS代码规范。

命名规范

类命名

  1. 首字母大写,之后每个单词首字母都大写
  2. 使用能够反映类功能的名词短语
  3. 文件和类同名

特殊类命名

  1. 如果是视图控制器的子类应添加后缀“ViewController”或者“Controller”,BeeFramwork中加”Board_iPhone“。Beeframework中BeeUIBoard继承于”ViewController“。
  2. 如果是视图的子类应添加后缀“View”
  3. 如果是按钮的子类应添加后缀“Button”

分类(类别)命名

与类命名相同,此外需添加要扩展的类名和“+”

例如:NSString+URLEncoding

协议(委托)命名

与类命名相同,此外需添加“Delegate”后缀

例如:MyViewDelegate

方法命名

  1. 首字母小写,之后每个单词首字母都大写
  2. 方法名使用动词短语

举例:- (void)setPostValue:(int)value

方法参数命名

  1. 首字母小写,之后每个单词首字母都大写
  2. 具有足够的说明性
  3. 不需要添加类型前缀

举例:- (void)sendUserInfo:(NSDictionary *)userInfo

变量命名

  1. 首字母小写,之后每个单词首字母都大写
  2. 具有足够的说明性
  3. 成员变量不需要添加“_m”前缀
  4. 成员变量添加“_”前缀

常量命名

  1. 常量(预定义,局部常量等)使用小写k开头的驼峰法, 举例:kInvalidHandle , kWritePerm
  2. 枚举类型命名首字母大写,之后每个单词首字母都大写,最后加“s”
  3. 枚举变量使用枚举类型去掉“s”作为前缀,每个单词首字母大写,中间不允许加下划线
    举例:
typedef enum UIControlEvents{

UIControlEventTouchDown,

UIControlEventTouchUpInside

}UIControlEvents;

图片命名

  1. 使用英文,首字母大写,之后每个单词首字母都大写
  2. 添加模块名作为前缀,避免冲突
  3. 图片应该与类文件一样,按模块分组放置

分组命名

  1. 使用英文,首字母大写,之后每个单词首字母都大写
  2. 每个分组使用模块的名字
  3. 使用的开源库统一放在“Library”分组下
  4. 使用的公共组件统一放在“Common”分组下
  5. 视图控制器及AppDelegate统一放在“Controllers”分组下

书写规范

注释

  1. 文件都包含文件头,要说明文件名、作者、创建时间、变更记录
  2. 多人协作完成项目时,public接口的每个方法都应该添加关于函数,参数,返回值以及副作用的注释
  3. 当if语句的判断条件复杂时,需要用注释说明判断内容
  4. 接口类(继承于BaseClient)的头文件每个方法前都应该注明方法的作用

方法

  1. 留一个空格在-或+和返回类型之间,但参数列表里的参数之间不要留间隔,每个冒号之前都必须有对该参数的说明词,如:p - (void)doSomethingWithString:(NSString *)string number:(int)num
  2. 如果参数过多,推荐每个参数各占一行。使用多行的情况下,在参数前加冒号用于对齐,如:
-(void)doSomethingWith:(GTMFoo *)theFoo
                  rect:(NSRect)theRect
              interval:(float)theInterval

其他规范

  1. 操作符前后都要加空格
  2. 避免相同的代码段在多个地方出现
  3. 语句嵌套层次不得超过3层
  4. 每个实现文件建议在500行以内,不能超过1000行,超过之后应考虑通过抽象类对代码进行重构
  5. 及时删除或注释掉无用的代码
  6. UITableViewCell里面的network client都要委托出来
  7. 点击按钮之后需要切换按钮图片,当这两张图片没有关联时(例如一张图片相比另一张图片有选中效果),不应该设置为UIControlSelected
  8. 控件布局使用相对坐标
  9. 确定不使用的代码应该删除
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值