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}
}
Development 编程规范的更多相关文章
- go 编程规范
如果没有编程规范会有什么问题? 哪些地方可以需要指定规范? 非编码类规范:编码规范 非编码规范 开源规范 http://www.ruanyifeng.com/blog/2011/05/how_to_c ...
- Batsing的网页编程规范(HTML/CSS/JS/PHP)
特别注意!!!我这里的前端编程规范不苟同于Bootstrap的前端规范. 因为我和它的目的不同,Bootstrap规范是极简主义,甚至有些没有考虑到兼容性的问题. 我的规范是自己从编程实践中总结出来的 ...
- JAVA编程规范(下)
JAVA编程规范(下) 2016-03-27 6. 代码的格式化 6.1 对代码进行格式化时,要达到的目的 1. 通过代码分割成功能块和便于理解的代码段,使代码更容易阅读和理解: 2. ...
- JAVA 编程规范(上)
2016-03-20 J120-CHARLIEPAN JAVA 编程规范(上) 1. 应用范围 本规范应用于采用J2EE规范的项目中,所有项目中的JAVA代码(含JSP,SERVLET,JA ...
- 使Eclipse符合Java编程规范
编程规范是很重要的东西,能让团队的代码易于阅读和维护,也便于日后的功能扩展. 工欲善其事必先利其器!作为一个Java程序员,与Eclipse打交道可能是一辈子的事情.将Eclipse设置为符合公司编程 ...
- flex+AS3编程规范
flex+AS3编程规范 Flex+AS3编码规范 http://www.cnblogs.com/jiahuafu/ 1. 缩写: 尽量避免使用缩写,使用缩写时尽量和Flex保持一致.但要记住一 ...
- Python编程规范(PEP8)
Python编程规范(PEP8) 代码布局 缩进 对于每一次缩进使用4个空格.使用括号.中括号.大括号进行垂直对齐,或者缩进对齐. 制表符还是空格? 永远不要将制表符与空格混合使用.Python最常用 ...
- Python 编程规范-----转载
Python编程规范及性能优化 Ptyhon编程规范 编码 所有的 Python 脚本文件都应在文件头标上 # -*- coding:utf-8 -*- .设置编辑器,默认保存为 utf-8 格式. ...
- JavaScript编程规范
最近看NodeJS中,有一部分写JS约定俗成的编程规范(附录B,详情参考附件),感觉在实际工作中能用到, 大致意思分享给大家,详情参考附件: 1.缩进:建议两空格 作为Node.js代码的缩进标记: ...
随机推荐
- ubuntu批量转换所有子文件夹下图片文件格式
第一步按照 sudo apt-get install imagemagick 对于一个文件,可以: convert ubuntuhandbook.png ubuntuhandbook.jpg 对于多个 ...
- Educational Codeforces Round 60 (Rated for Div. 2) E. Decypher the String
题目大意:这是一道交互题.给你一个长度为n的字符串,这个字符串是经过规则变换的,题目不告诉你变换规则,但是允许你提问3次:每次提问你给出一个长度为n的字符串,程序会返回按变换规则变换后的字符串,提问3 ...
- Jmeter的安装与环境配置
1.首先从jmeter的官网http://jmeter.apache.org/download_jmeter.cgi下载jmeter,目前最新版本为5.1,支持的JDK为1.8.. 然后进行解压. 2 ...
- 关于ps前端工程师简单配置
1.创建Web网页设计稿的预设参数 1920*1080 72 透明 2.定位组或定位图层 可以在ps选项栏中,勾选“自动选择”+组/图层 或者 ctrl键+组/图层: 3.视图 ...
- Boost Doc Home
{ //http://charette.no-ip.com:81/programming/doxygen/boost/group__async__read.html#gafe3e905a43504bd ...
- jsp网站访问次数统计的几种方法
我采用的是jsp网页,但是不管采用什么语言,原理是一样的. 第一种,单页面统计.就是说,只要点击这个页面就会统计一次. <body> <%!//在这种标记中定义的变量为全局变量 in ...
- 简单的使用Qt的QCustomplot画图
一.新建一个widget工程 二.将Qcustomplot文件复制到项目下 三.右键qt项目增加已存在的文件 四.在.pro中添加 QT += widgets printsupport 五.在.h中添 ...
- 欧拉降幂,基本计算定理——cf615D
用基本算数定理求约数和的思想来计算, 首先用pi,ci来表示第i个质数,指数为i,然后对于每个pi,pi^2...都有指数为mul{(c_1+1)(c_2+1)(c_i-1+1)(c_i+1+1).. ...
- 73 QT编程入门
0 引言 最近开始在QT下编程,记录一下遇到的问题以及解决方法. 1 安装下载及学习资料 (1)安装下载链接 安装链接: https://blog.csdn.net/qq_23473839/artic ...
- 学习android文档 -- Adding the Action Bar
1. Setting Up the Action Bar:users-sdk version 11以上可以使用holo主题:如果不使用holo主题,或者sdk版本较低,则需要在manifest文件的& ...