




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 移动端-IOS编码安全规范一、 命名1、 Bundle id命名:规则:采用反域名命名规则,全部使用小写字母。一级包名为com,二级包名根据应用进行命名。2、 类命名:1) 类命采取驼峰命名规则,即首字母必须大写,如果为词组,则每个单词的首字母必须大写,类名只能使用名词或名词词组,力求类名简单,不允许出现冗余的单词。2) 继承自UIView的类以View结尾。3) 继承自ViewController的类以ViewController结尾。4) 保存数据的实体以Model结尾。3、 方法的命名:规则:方法名第一个单词是一个动词,其首字母小写,其后的所有单词首字母大写。如:public Void
2、 threadRun()1) 类中常用方法命名:l 类的获取方法如果返回值为单个值,一般在头部加上单词“get”。如果返回值是数组或列表,要在头部加单词“find”如:public String getUserName() 、public list<String> findFriends()l 类的设置方法在被访问字段名的前面加上前缀 set如:public void setName(String name)l 类的布尔型判断方法一般要求方法名使用单词 is或has 做前缀如:isNetWorkConnected()l 构造方法应该用递增的方式写。参数个数少的在前4、 变量命名规则
3、:第一个单词首字母必须小写,往后的单词需要符合驼峰命名规则,即第一个字母大写。变量名尽可能的使用名词或名词词组。同样要求简单易懂,不允许出现无意义的单词。如:String userName 避免使用全局变量,如果用到必须加前缀 Pub_,同时需要在变量名体现其类型。5、 成员变量命名与变量命名一样,在private字段前加上字母“m”。6、 控件变量命名规则:一般的变量命名后加上控件名称IBOutlet UILabel *userNameLabel;7、 常量命名:规则:必须全部大写,单词间用下划线隔开。如:MAP_KEY8、 异常命名:规则:自定义异常首字母大写,以 Exception 为结
4、尾。如:AppException9、 资源命名:项目中所使用的所有资源命名必须以全部单词小写,单词间以下划线分割,加前缀区分。名称功能btn_xx_normal按钮正常情况下的效果btn_xx_press按钮点击下的效果bg_head背景图片使用bg_功能_说明def_search_cell默认图片使用def_功能_说明icon_more_help图标图片使用icon_功能_说明Seg_list_line具有分割特征的图片使用seg_功能_说明Sel_ok选择图标使用sel_功能_说明二、 注释1、 头文件注释:所有的源文件都应该在开头有一个注释,其中列出头文件的相关描述、作者、以及对应的版本
5、信息。/*! header 头文件名称 abstract 关于这个源代码文件的一些基本描述 author作者 version 1.00 2012/01/20 Creation (此文档的版本信息:版本号+创建时间) */2、 类注释每一个类都要包含如下格式的注释,以说明当前类的功能等。/*! class 类名 abstract 这里可以写关于这个类的一些描述。 */3、 枚举注释每一个枚举都需要包含相对应的enum描述,以及每个枚举值对应的含义。/*! enum 枚举名称 abstract 关于这个enum的一些基本信息 constant 各个对应值得含义,如: OKButton 对应的是OK
6、按钮的Tag */4、 协议注释协议需要注明是哪个类对应的protocol,以及自身的相关描述。/*! protocol 协议名称 abstract 这是哪个类的protocol discussion 具体描述信息 */5、 方法注释包括当前方法的用途,当前方法参数的含义,当前方法返回值的内容和对应的错误参照。/*! method 方法名 abstract该方法的一些简要描述 discussion该方法的具体使用方式,需要注意的地方,如果你是设计一个抽象类或者一个共通类给给其他类继承的话,在这里需要具体描述一下怎样使用这个方法。 param text参数列表 param error 错误参照
7、result 返回结果 */6、 属性注释/*! property 属性名称 abstract 该Property的一些基本描述。 */7、 类别注释/*! category 类别名称 abstract 哪个类的类别 */三、 代码风格1、 缩进规则:禁止使用tab进行缩进,缩进为4个空格2、 .h文件空行可以使用空行的情况:Ø 文件说明与头文件包含(#import)之间类声明跟接口声明之间。Ø 头文件包含(#import)与class之间Ø interface与class之间Ø 头文件内,空1行开始写成员对象。Ø 头文件外,空1行开始写属性。
8、Ø 属性与方法之间。Ø 方法与end之间。Ø 如果需要声明protocol,空2行接着写。通常protocol写在end后面,但是声明在interface之前。Ø 方法与方法之间空1行。3、 .m文件空行Ø 文件说明与头文件包含(#import)之间。Ø 头文件包含(#import)之间。Ø implementation和synthesize之间。Ø synthesize与方法之间。Ø 变量声明后需要空1行。Ø 各功能块之间。Ø #pragma mark 与方法之间。4、 空格
9、6; 关键字与其后的表达式之间需要加空格。Ø 单目操作符不应与操作数分开。Ø 除,外,其它双目操作符应与它们的操作数用空格隔开。Ø .h中协议<>前面有一个空格。Ø .h中成员声明时,类型与变量之间有至少1个空格。*号靠近变量,不靠近类型。Ø property后留1个空格,()里面,逗号紧跟前一变量,与后一变量之间留1 个空格。()外面,先留1个空格,再声明属性。Ø 方法的+,-后面与()。Ø 返回类型与*之间留1个空格,方法参数中返回类型与*之间留1个空格Ø 在多参数方法中,每个参数后面都有1个空格。
10、Ø Switch.case 语句,代码块需要留4个空格。Ø If语句嵌套,内部if语句需要留4个空格。5、 ImportImport语句引入的次序如下:Ø IOS importsØ 第三方库Ø 自定义.h文件在每组内部按字母排序,大写字母排在小写字母的前面。每个大组之间应该空一行。6、 Log规则:统一使用自定的log服务,不直接使用系统自带。7、 语句每行只能有一个语句每行代码最多不得操作100个字符。8、 标准大括号风格大括号不单独占用一行;它们紧接着上一行书写。9、 控制语句1) If语句判断中如果有常量,则应将常量放在判断式的右侧,如i
11、f (a > b)如果if语句成立的逻辑只有一句,则应该将其放在if同一行或用括起来。如:if (index > 0) if (index > 0).2) While语句循环语句中不允许出现表达式。如while(I < documents.getCount())四、 修改规范1. 新增代码行新增代码行的前后应有注释行说明。 /修改人,修改时间,修改说明 新增代码行 /修改结束2. 删除代码行删除代码向的前后用注释行说明 /修改人,修改时间,修改说明 要删除的代码行(将要删除的语句进行注释) /修改结束3. 修改代码行修改代码行以注释旧代码行后再新增代码行的方式进行。/修改人,修改时间,修改说明 /修改前代码行开始 /修改前代码行 /修改前代码行结束 /修改后代码行开始 修改后代码行 /修改结束五、 严禁出现的情况1、 永远不要有空的catch语句。替代方案:向方法的调用者抛出异常、或者抽象级别抛出新异常。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 校园数据共享合作合同(2篇)
- 2025全面协议借款合同
- 2025艺人经纪公司合同范本下载
- 2025综合高级顾问聘请合同范本
- 金融与新质生产力
- 2025咖啡买卖合同范本标准版
- 2025年国家电网招聘之电网计算机自我检测试卷B卷附答案
- 2025建筑拆除工程合同协议书范本
- 初中历史明朝的统治+课件+2024-2025学年统编版七年级历史下册
- 2025年初级经济师之初级经济师人力资源管理能力测试试卷A卷附答案
- DB4413-T 19-2020《惠州市建筑二次供水工程设计、施工及验收规范》-(高清现行)
- 不间断电源装置(UPS)试验及运行质量检查表
- 医院第一季度全成本核算分析报告
- Rational-Rose-用例图、顺序图、活动图、类图、状态机图-实例
- 《马说》-教学设计【教学参考】
- 2022年1月浙江高考英语应用文与读后续写范文汇总(素材)
- 华为智慧园区解决方案
- 世界银行集团简介课件(PPT 48页)
- 中国毛笔字书法教育培训动态PPT模板
- 委外加工作业流程图
- 苏教版五年级科学公开课斜坡的启示优秀教学设计和反思
评论
0/150
提交评论