IOS编码及注释标准.docx

上传人:b****1 文档编号:598936 上传时间:2022-10-11 格式:DOCX 页数:12 大小:29.52KB
下载 相关 举报
IOS编码及注释标准.docx_第1页
第1页 / 共12页
IOS编码及注释标准.docx_第2页
第2页 / 共12页
IOS编码及注释标准.docx_第3页
第3页 / 共12页
IOS编码及注释标准.docx_第4页
第4页 / 共12页
IOS编码及注释标准.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

IOS编码及注释标准.docx

《IOS编码及注释标准.docx》由会员分享,可在线阅读,更多相关《IOS编码及注释标准.docx(12页珍藏版)》请在冰豆网上搜索。

IOS编码及注释标准.docx

IOS编码及注释标准

IOS开发编码及命名规范

 

1、目的3

2、适用范围3

3、编码规范3

3.1、文件3

3.2、注释3

3.3、编码排版格式5

3.4、命名规范6

3.4.1、保留字6

3.4.2、方法7

3.4.3、变量7

3.4.4、常量8

3.4.5、类9

3.4.6图片命名9

3.5、修改规范9

3.5.2、新增代码行9

3.5.2、删除代码行10

3.5.3、修改代码行10

3.5.4、其他规范10

 

1、目的

统一规范XCode编辑环境下Objective-C的编码风格和标准

2、适用范围

适用于所有用Objective-C语言开发的项目。

3、编码规范

3.1、文件

1)项目文件必须使用一个有意义的名字一般用bundleId最后一位如lender.xcodeproj’。

2)公共文件统一命名为’Public.h’。

任何文件的命名尽量不要以中文命名。

3)对于文件的目录要按如下结构创建:

-Document(文档所在路径)

-Help(帮助文件所在路径)

-图片等资源文件放在单独的目录与组(Group)中,如Images。

-所有的view放在单独的组(Group)中,如CustomView。

-所有的viewController放在单独的组中,如viewControllers。

-引用外部文件或者某个单独的功能时,放在单独的组中,

例如:

程序中使用了coverflow功能,引用openflow的文件时,将其全部文件放在openFlow这个组中。

其view和viewcontroller等文件的组织不受上面所规定的影响。

4)bundleId命名:

公司的域名反过来最后一位是项目名称一般越短越好

举例:

com.ppdai.*(com.ppdai.lender)

3.2、注释

1)注释可以采用’/**/’和’//’两种注释符号,涉及到多行注释时,尽量使用

’/**/’。

2)对于一行代码的注释可放在前一行及本行上,不允许放在下一行,更不允许在一行语句的中间加入注释。

3)单元文件的文件头注释说明应按如下格式:

//

//文件名

//工程名

//

//Createdby创建者on日期.

//Copyright2010xxx有限公司.Allrightsreserved.

//

//系统名称:

//功能描述:

//修改记录:

(仅记录功能修改)

//张三2012-02-02创建该单元

//小明2010-03-02增加本地点单功能。

//

4)方法前面的注释遵循以下格式:

如果某项没有,则以N/A表示

例如:

/**********************************************************

函数名称:

-(BOOL)showFiveAndSixStairRoomCountByStatu

函数描述:

显示特定状态下五楼和六楼的房间数

输入参数:

(NSString*)statu:

某状态。

输出参数:

(int*)roomCount:

该状态房间数量。

返回值:

BOOL:

操作是否成功。

**********************************************************/

-(void)showFiveAndSixStairRoomCountByStatu:

(NSString*)statu

roomCount:

(int*)_roomCount;

/**********************************************************

函数名称:

-(NSUInteger)showFiveAndSixStairRoomCount

函数描述:

显示五楼六楼的房间数。

输入参数:

N/A

输出参数:

N/A

返回值:

NSUInteger:

房间数量。

**********************************************************/

-(NSUInteger)showFiveAndSixStairRoomCount

5)不必每行都加注释,在3~10行左右的段落做注释要好于每行都做注释,显而易见的代码不加注释。

例如:

if(!

returnValue)//调用登录过程失败←无用的注释

{

NSLog(@”登录失败”);

}

3.3、编码排版格式

1)代码的缩进应使用空格(SPACE),不能使用制表符(TAB),并且缩进以2个字符为单位。

2)中括弧的每一个括弧在源程序中要单独占一行。

例如

//不正确用法

for(inti=0;i<10;i++)

{

……

}

//正确用法

for(inti=0;i<10;i++){

……

}

3)空格的使用

a)关键字与其后的表达式之间要有空格,如:

if(expr)

for(expr)

b)单目操作符不应与它们的操作数分开(如’!

’和’^’等)。

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

例如

i=i+1;//错误的写法,操作符两端没有空格

i=i+1;//正确的写法,

if(a>b)//错误的写法,逻辑判断符号两端没有空格

if(a>b)//正确的写法

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

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

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

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

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

g)方法的+,-后面与()之间留1个空格。

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

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

4)每行只能有一个语句

例如

//不正确写法

NSUIntegerobjectIndex,stuffCount;

objectIndex=objectIndex+10,stuffCount=stuffCount+20;

@synthesizeMyView,MyLabelView;

//正确写法

NSUIntegerobjectIndex;

NSUIntegerstuffCount;

objectIndex=objectIndex+10;

stuffCount=stuffCount+20;

@synthesizeMyView;

@synthesizeMyLabelView;

5)关于空行

a).h中的空行

、文件说明与头文件包含(#import)之间空1行

、头文件包含(#import)之间,如果需要分类区别,各类别之间空1行。

、头文件包含(#import)与@class之间空2行。

、@interface与@class之间空1行。

、头文件{}里面,空1行开始声明对象成员,如果需要分类区别,各类别之间空1行。

、头文件{}外,空1行书写属性,如果需要分类区别,各类别之间空1行。

、属性下面空1行开始写方法,如果需要分类区别,各类别之间空1行。

、方法完成后,空1行@end。

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

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

b).m中的空行

、文件说明与头文件包含(#import)之间空1行

、头文件包含(#import)之间,如果需要分类区别,各类别之间空1行。

、@implementation和@synthesize之间空1行,如果需要分类区别,各类别之间空1行。

、@synthesize与方法之间空1行。

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

C)方法里面的空行

、变量声明后需要空1行,如果需要分类区别,各类别之间空1行。

、条件、循环,选择语句,整个语句结束,需要空1行。

、各功能快之间空1行。

、最后一个括弧之前不空行。

、注释与代码之间不空行。

、#pragmamark与方法之间空1行。

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

设置如下:

Xcode=>Preferences=>TextEditing

=>PageGuideatcolumn/输入100即可。

3.4、命名规范

3.4.1、保留字

Objective-c语言的保留字或关键词应全部使用小写字母,除下表中保留字外,private、protected、public、在类型说明中也作为保留字使用。

还有nonatomanic,retain,readwrite,

readonly等也有特殊的使用场合。

_Bool

_Complex

_Imaginary

auto

break

bycopy

byref

case

char

const

continue

default

do

double

else

enum

extern

float

for

goto

if

in

inline

inout

int

long

oneway

out

register

restrict

return

self

short

signed

sizeof

static

struct

super

switch

typedef

union

unsigned

void

volatile

while

3.4.2、方法

1)方法的名称应全部使用有意义的单词组成,且以小写字母开头,多单词组合时,后面的单词首字母大写。

例如:

-(void)getUserInformation……

2)设置类变量的内容的方法应使用set作为前缀,读取变量的内容的方法应使用get作为前缀。

例如:

-(void)getUserName;

-(void)setUserName:

(NSString*)userName;

3)方法参数命名

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

例如:

-(void)sendUserInfo:

(NSDictionary*)userInfo

4)书写

1.留一个空格在-或+和返回类型之间,但参数列表里的参数之间不要留间隔,每个冒号之前都必须有对该参数的说明词,如:

-(void)doSomethingWithString:

(NSString*)stringnumber:

(int)num

2.如果参数过多,推荐每个参数各占一行。

使用多行的情况下,在参数前加冒号用于对齐,如:

-(void)doSomethingWith:

(GTMFoo*)theFoo

rect:

(NSRect)theRect

interval:

(float)theInterva

3.4.3、变量

1)变量必须起有意义的名字,使其他组员可以很容易读懂变量所代表的意义,变量命名可以采用同义的英文命名,可使用几个英文单词,第一个单词首字母小写,其他单词首字母大写。

例如:

NSString*username;

2)对于一些特殊类型的变量,命名时要带上类型,如NSArray

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

当前位置:首页 > 党团工作 > 入党转正申请

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

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