Development 编程规范
{
命名规范
类命名
1)所有的类名,接口名(Protocol)均以大写字母开头,多单词组合时,后面的单词首字母大写。
类,接口名必须是有意义的,切忌使用中文拼音命名。
另外所有类都要加标致前缀:“OP”
2)继承自UIView的类以View结尾。
例如:OperatorUsersInfomationView,LabelView等。
3)继承自ViewController的类以viewController结尾。
例如:HomePageViewController,LoginViewController等。其他类推。
4)所有保存数据的实体以Model结尾。
例如:UserModel
5)类别命名,与类命名相同,此外需要添加要扩展的类名和“+”
例如:NSString+URLEncoding
方法命名
1)首字母小写,之后每个单词首字母大写。
2)留一个空格在-或+和返回类型之间,但参数列表里的参数之间不要留间隔,每个冒号之前都必须有对该参数的说明词
3)设置类变量的内容的方法应使用set作为前缀,读取变量的内容的方法应使用get作为前缀,创建视图用create作为前缀。
4)方法中的参数:第一个参数名称要从函数名称中携带出来,参数名不要加下划线等前缀。
例:- (void)sendUserInfo:(NSDictionary *)userInfo Other:(NSString *)other;
变量
1)首字母小写,之后每个单次首字母大写。简洁、准确的表示出变量作用。
2)成员变量不需要添加“_m”前缀
3)成员变量添加“_”前缀
常量
1)常量(预定义,局部常量等)使用小写k开头的驼峰法
例:kInvalidHandle,kWriRerm
2)枚举类型命名首字母大写,之后每个单词首字母都大写,最后加“s”
3)枚举变量使用枚举类型去掉“s”作为前缀,每个单词首字母大写,中间不允许加下划线。
例:typedef enum UIControlEvents {
UIControlEventTouchDown,
UIControlEventTouchUpInside
}UIControlEvents;
图片命名
1)使用英文,首字母大写,之后每个单词首字母都大写
2)添加模块名作为前缀,避免冲突
3)图片应该与类文件一样,按模块分组放置
分组命名
1)使用英文,首字母大写,之后每个单词首字母都大写
2)每个分组使用模块的名字
3)使用的开源库统一放在“Lib”下的“3rd”分组夹中
4)使用的公共组件统一放在“common”分组下
5)视图控制器放在“Controllers”分组下,并按模块再分组
其他规范
1)操作符前后都要加空格
2)避免相同的代码段在多个地方出现
3)语句嵌套层次不得超过3层
4)每个实现文件建议在500行以内,不能超过1000行,超过之后应考虑通过抽象类对代码进行重构
5)及时删除或注释掉无用的代码
6)UITableViewCell里面的network client都要委托出来
7)点击按钮之后需要切换按钮图片,当这两张图片没有关联时(例如一张图片相比另一张图片有选中效果),不应该设置为UIControlSelected
8)控件布局使用相对坐标
9)确定不使用的代码应该删除
注释规范
1)文件都包含文件头,要说明文件名、作者、创建时间、变更记录
2)多人协作完成项目时,public接口的每个方法都应该添加关于函数,参数,返回值以及副作用的注释
3)当if语句的判断条件复杂时,需要用注释说明判断内容
4)接口类(继承于BaseClient)的头文件每个方法前都应该注明方法的作用
5)注释可以采用’ /* */ ’和’// ’两种注释符号,涉及到多行注释时,尽量使用’ /* */ ’。
6)对于一行代码注释,可放在前一行及本行上,不允许放在下一行,更不允许在一行语句中间加入注释。
文档结构规范
参阅医评开发文件夹中的《源码结构说明》文稿
发布流程
1)修改项目中的服务器地址,改为正式服务器;
2)修改Info.plist中的版本号,外部版本号看情况升,内部版本号,每次提交都要做一次增加;
3)连接已授权的手机,在XCode中选中,打包“Product”-->“Archive”;
4)打包进度条完成后,出现如下界面,点击“Submit App Store”提交到Appstore;
5)提交成功后,到wiki中再提交一份对应版本的描述备案,要说明新版新增功能和遗留问题;
6)在git将代码提交的主线,并打标签注释。
文本输入框规范
控件属性
1、手机号码、体重和身高等数值型的输入限定为数字键盘
UITextField.keyboardType = UIKeyboardTypePhonePad;
正则表达式
1、验证手机号格式:^(0|86|17951)?(1[345678])\\d{9}$
2、验证身份证格式:
18位:^[1-9]\\d{5}[1-9]\\d{3}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}([0-9]|[xX])$
15位,在身份证第7、8位加入“19”,最后位加“x”
3、限定中文输入:[\u4e00-\u9fa5]
4、验证邮箱规则:[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}
}