IOS编码安全规范.docx

上传人:b****4 文档编号:3907834 上传时间:2022-11-26 格式:DOCX 页数:8 大小:100.81KB
下载 相关 举报
IOS编码安全规范.docx_第1页
第1页 / 共8页
IOS编码安全规范.docx_第2页
第2页 / 共8页
IOS编码安全规范.docx_第3页
第3页 / 共8页
IOS编码安全规范.docx_第4页
第4页 / 共8页
IOS编码安全规范.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

IOS编码安全规范.docx

《IOS编码安全规范.docx》由会员分享,可在线阅读,更多相关《IOS编码安全规范.docx(8页珍藏版)》请在冰豆网上搜索。

IOS编码安全规范.docx

IOS编码安全规范

移动端-IOS编码安全规范

一、命名

1、Bundleid命名:

规则:

采用反域名命名规则,全部使用小写字母。

一级包名为com,二级包名根据应用进行命名。

2、类命名:

1)类命采取驼峰命名规则,即首字母必须大写,如果为词组,则每个单词的首字母必须大写,类名只能使用名词或名词词组,力求类名简单,不允许出现冗余的单词。

2)继承自UIView的类以View结尾。

3)继承自ViewController的类以ViewController结尾。

4)保存数据的实体以Model结尾。

3、方法的命名:

规则:

方法名第一个单词是一个动词,其首字母小写,其后的所有单词首字母大写。

如:

publicVoidthreadRun()

1)类中常用方法命名:

●类的获取方法

如果返回值为单个值,一般在头部加上单词“get”。

如果返回值是数组或列表,要在头部加单词“find”

如:

publicStringgetUserName()、publiclistfindFriends()

●类的设置方法

在被访问字段名的前面加上前缀set

如:

publicvoidsetName(Stringname)

●类的布尔型判断方法

一般要求方法名使用单词is或has做前缀

如:

isNetWorkConnected()

●构造方法应该用递增的方式写。

参数个数少的在前

4、变量命名

规则:

第一个单词首字母必须小写,往后的单词需要符合驼峰命名规则,即第一个字母大写。

变量名尽可能的使用名词或名词词组。

同样要求简单易懂,不允许出现无意义的单词。

如:

StringuserName

避免使用全局变量,如果用到必须加前缀‘Pub_’,同时需要在变量名体现其类型。

5、成员变量命名

与变量命名一样,在private字段前加上字母“m”。

6、控件变量命名

规则:

一般的变量命名后加上控件名称

IBOutletUILabel*userNameLabel;

7、常量命名:

规则:

必须全部大写,单词间用下划线隔开。

如:

MAP_KEY

8、异常命名:

规则:

自定义异常首字母大写,以Exception为结尾。

如:

AppException

9、资源命名:

项目中所使用的所有资源命名必须以全部单词小写,单词间以下划线分割,加前缀区分。

名称

功能

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、头文件注释:

所有的源文件都应该在开头有一个注释,其中列出头文件的相关描述、作者、以及对应的版本信息。

/*!

@header头文件名称

@abstract关于这个源代码文件的一些基本描述

@author作者

@version1.002012/01/20Creation(此文档的版本信息:

版本号+创建时间)

*/

2、类注释

每一个类都要包含如下格式的注释,以说明当前类的功能等。

/*!

@class类名

@abstract这里可以写关于这个类的一些描述。

*/

3、枚举注释

每一个枚举都需要包含相对应的enum描述,以及每个枚举值对应的含义。

/*!

@enum枚举名称

@abstract关于这个enum的一些基本信息

@constant各个对应值得含义,如:

OKButton对应的是OK按钮的Tag

*/

4、协议注释

协议需要注明是哪个类对应的protocol,以及自身的相关描述。

/*!

@protocol协议名称

@abstract这是哪个类的protocol

@discussion具体描述信息

*/

5、方法注释

包括当前方法的用途,当前方法参数的含义,当前方法返回值的内容和对应的错误参照。

/*!

@method方法名

@abstract该方法的一些简要描述

@discussion该方法的具体使用方式,需要注意的地方,如果你是设计一个抽象类或者一个共通类给给其他类继承的话,在这里需要具体描述一下怎样使用这个方法。

@paramtext参数列表

@paramerror错误参照

@result返回结果

*/

6、属性注释

/*!

@property属性名称

@abstract该Property的一些基本描述。

*/

7、类别注释

/*!

@category类别名称

@abstract哪个类的类别

*/

三、代码风格

1、缩进

规则:

禁止使用tab进行缩进,缩进为4个空格

2、.h文件空行

可以使用空行的情况:

Ø文件说明与头文件包含(#import)之间类声明跟接口声明之间。

Ø头文件包含(#import)与@class之间

Ø@interface与@class之间

Ø头文件{}内,空1行开始写成员对象。

Ø头文件{}外,空1行开始写属性。

Ø属性与方法之间。

Ø方法与@end之间。

Ø如果需要声明protocol,空2行接着写。

通常protocol写在@end后面,但是声明在@interface之前。

Ø方法与方法之间空1行。

3、.m文件空行

Ø文件说明与头文件包含(#import)之间。

Ø头文件包含(#import)之间。

Ø@implementation和@synthesize之间。

Ø@synthesize与方法之间。

Ø变量声明后需要空1行。

Ø各功能块之间。

Ø#pragmamark与方法之间。

4、空格

Ø关键字与其后的表达式之间需要加空格。

Ø单目操作符不应与操作数分开。

Ø除’,’外,其它双目操作符应与它们的操作数用空格隔开。

Ø.h中协议<>前面有一个空格。

Ø.h中成员声明时,类型与变量之间有至少1个空格。

*号靠近变量,不靠近类型。

Ø@property后留1个空格,()里面,逗号紧跟前一变量,与后一变量之间留1个空格。

()外面,先留1个空格,再声明属性。

Ø方法的+,-后面与()。

Ø返回类型与*之间留1个空格,方法参数中返回类型与*之间留1个空格

Ø在多参数方法中,每个参数后面都有1个空格。

ØSwitch..case语句,代码块需要留4个空格。

ØIf语句嵌套,内部if语句需要留4个空格。

5、Import

Import语句引入的次序如下:

ØIOSimports

Ø第三方库

Ø自定义.h文件

在每组内部按字母排序,大写字母排在小写字母的前面。

每个大组之间应该空一行。

6、Log

规则:

统一使用自定的log服务,不直接使用系统自带。

7、语句

每行只能有一个语句

每行代码最多不得操作100个字符。

8、标准大括号风格

大括号不单独占用一行;它们紧接着上一行书写。

9、控制语句

1)If语句

判断中如果有常量,则应将常量放在判断式的右侧,如if(a>b)

如果if语句成立的逻辑只有一句,则应该将其放在if同一行或用{}括起来。

如:

if(index>0)……

if(index>0){

……….

}

2)While语句

循环语句中不允许出现表达式。

如while(I

四、修改规范

1.新增代码行

新增代码行的前后应有注释行说明。

//修改人,修改时间,修改说明

新增代码行

//修改结束

2.删除代码行

删除代码向的前后用注释行说明

//修改人,修改时间,修改说明

要删除的代码行(将要删除的语句进行注释)

//修改结束

3.修改代码行

修改代码行以注释旧代码行后再新增代码行的方式进行。

//修改人,修改时间,修改说明

//修改前代码行开始

//修改前代码行

//修改前代码行结束

//修改后代码行开始

修改后代码行

//修改结束

五、严禁出现的情况

1、永远不要有空的catch语句。

替代方案:

向方法的调用者抛出异常、或者抽象级别抛出新异常。

2、避免在一条语句中给多个变量赋相同的值

3、不要将赋值运算符用在与相等运算符混淆的地方

4、重复代码,复制-粘贴

5、长方法,将所有逻辑处理放在一个方法里面,每个方法都应有其自己的意图

6、大类,妄想将所有模块放在一个类中实现。

7、小类,一个类所承担的责任太少,应该将其消除,类的维护需要额外的开销

 

附件:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1