ios开发规范文档

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

命名

命名规则对于维护代码来说是非常重要的,。Objective-C方法名往往很长,不过这也有好处,让很多注释变得毫无意义。

本文推荐驼峰法,也是Objective-C社区的标准。

驼峰法分小驼峰法和大驼峰法。小驼峰法:除第一个单词之外,其他单词首字母大写。大驼峰法相比小驼峰法,大驼峰法把第一个单词的首字母也大写了。

1.基本原则

1.1 清晰

又清晰又简洁是最好的了,但简洁不如清晰重要。总的讲不要使用单词的简写,除了非常常用的简写以外,尽量使用单词全称。API的名称不要有歧义,一看你的API就知道是以什么方式做了什么事情,不要让人有疑问

1.2 一致性

做某个事情代码通常都叫这个名字,比如tag、setStringValue,那么你也这么叫。你在不确定怎么起名字的时候,可以参考一些常用的名字:Method Arguments

2. 类命名

类名(不包括类别和协议名)应该用大写开头的大驼峰命名法。类名中应该包含一个或多个名词来说明这个类(或者类的对象)是做什么的。

在应用级别的代码里,尽量不要使用带前缀的类名。每个类都有相同的前缀不能提高可读性。不过如果是编写多个应用间的共享代码,前缀就是可接受并推荐的做法了(型如MBAPhotoBrowser )。

示例1:

@interface ImageBrowseView :UIView

@end

示例2:(带前缀MBA)

@interface MBAPhotoBrowser :UIView

@end

3. 类别命名

类名+标识+扩展(UIImageView +HP+Web)

例:如果我们想要创建一个基于UIImageView 的类别用于网络请求图片,我们应该把类别

放到名字是UIImageView+HPWeb.h的文件里。UIImageView为要扩展的类名,HP为专属标识,Web为扩展的功能。

类别的方法应该都使用一个前缀(型如hp_myCategoryMethodOnAString ),以防止Objective- C代码在单名空间里冲突。如果代码本来就不考虑共享或在不同的地址空间(address- space),方法命名规则就没必要恪守了。

类别HPWeb头文件,UIImageView+HPWeb.h如下:

@interface UIImageView (HPWeb)

- (void)hp_setImageWithURLString:(NSString *)urlStr;

@end

4. 方法命名

方法使用小驼峰法命名, 一个规范的方法读起来应该像一句完整的话,读过之后便知函数

的作用。执行性的方法应该以动词开头,小写字母开头,返回性的方法应该以返回的内容

开头,但之前不要加get。

示例:

- (void)replaceObjectAtIndex:(NSUInteger)index withObject:(id)anObject; (instancetype)arrayWithArray:(NSArray *)array;

如果有参数,函数名应该作为第一个参数的提示信息,若有多个参数,在参数前也应该有

提示信息(一般不必加and)

一些经典的操作应该使用约定的动词,如initWith,insert,remove,replace,add等等。

5. 变量命名

变量名使用小驼峰法, 使变量名尽量可以推测其用途属性具有描述性。别一心想着少打几

个字母,让你的代码可以迅速被理解更加重要。

5.1 类成员变量:

成员变量用小驼峰法命名并前缀下划线,Objective-C 2.0,@property 和@synthesize 提供了遵守命名规范的解决方法

示例:

@interface ViewController ()

@property (nonatomic,strong)NSMutableArray *mDataArray;

@property (nonatomic,strong)UITableView *mtableView;

@end

@implementation ViewController

@end

5.2 一般变量命名

示例:

NSMutableArray *ticketsArray = [NSMutableArrayarrayWithCapacity:0]; NSInteger numCompletedConnections =3;

5.3 常量命名

常量(预定义,枚举,局部常量等)使用小写k开头的驼峰法,比如kInvalidHandle , kWritePerm

示例:

#define kRunAnnotationStartPointTitle @“起点"

typedef NS_ENUM (NSInteger,RunGoalTypeE){

kRunGoalTypeNone = 0, //无目标

kRunGoalTypeTime = 1, //以时间为目标

kRunGoalTypeDistance = 2, //以距离为目标

kRunGoalTypeCalori = 3, //以消耗卡路里为目标

};

NSString *const kGroupInfoName =@"name";

6. 图片资源文件命名

先看下新浪微博app图片资源命名方式,下面是部分截图:

这个图片资源命名方式,以功能为组织形式,是一个很好的习惯,有利于查看资源文件。

相关文档
最新文档