好文档 - 专业文书写作范文服务资料分享网站

南京润趣iPhone编程规范 - 图文

天下 分享 时间: 加入收藏 我要投稿 点赞

文档名称 文档密级:公开

Product name产品名称 iPhone编码规范 Product version产品版本 V1.0

Confidentiality level密级 公开 Total 10 pages 共10页 iPhone编码规范

Prepared by

拟制 Reviewed by 审核人 Reviewed by 审核人 Authorized by

批准

iPhone项目组 南京润趣网络科技有限公司

Date 日期 Date 日期 Date 日期 Date 日期

2016-4-15

Nanjing Hopefun Network Technology Co. Ltd.

南京润趣网络科技有限公司

All rights reserved 版权所有 侵权必究

2020-12-13

南京润趣授权,未经许可不得扩散

第1页, 共10页

文档名称 文档密级:公开

1. 命名规范

1.1. 标识符

标识符的命名要清晰、明了,有明确含义,同时使用完整的单词或大家基本可以理解的缩写,避免使人产生误解。

说明:较短的单词可通过去掉“元音”形成缩写;较长的单词可取单词的头几个字母形成缩写;一些单词有大家公认的缩写。

示例:如下单词的缩写能够被大家基本认可。 temp 可缩写为 tmp ; flag 可缩写为 flg ; statistic 可缩写为 stat ; increment 可缩写为 inc ; message 可缩写为 msg ;

命名中若使用特殊约定或缩写,则要有注释说明。

说明:应该在源文件的开始之处,对文件中所使用的缩写或约定,特别是特殊的缩写,进行必要的注释说明。

自己特有的命名风格,要自始至终保持一致,不可来回变化。

说明:个人的命名风格,在符合所在项目组或产品组的命名规则的前提下,才可使用。(即命名规则中没有规定到的地方才可有个人命名风格)。 对于变量命名,禁止取单个字符(如i、j、k...),建议除了要有具体含义外,还能表明其变量类型、数据类型等,但i、j、k作局部循环变量是允许的。

说明:变量,尤其是局部变量,如果用单个字符表示,很容易敲错(如i写成j),而编译时又检查不出来,有可能为了这个小小的错误而花费大量的查错时间。 现将命名解释定义如下: 符号 l g m T i/n u f c b s/sz/str p v k 标识符类型 数据类型 生命周期 类别 解释 局部变量 全局变量 类成员属性 typedef自定义类型 NSInteger/int NSUInteger/unsigned CGFloat/float char bool NSString pointer 变量 常量 备注 不用 使用 使用 使用 使用 使用 使用 使用 使用 使用 使用 不用 使用

命名规范必须与所使用的系统风格保持一致,并在同一项目中统一,比如采用UNIX的全小写加下划线的风格或大小写混排的方式,不要使用大小写与下划线混排的方式,用

2020-12-13

南京润趣授权,未经许可不得扩散

第2页, 共10页

文档名称 文档密级:公开

作特殊标识如标识成员变量或全局变量的m_和g_,其后加上大小写混排的方式是允许的。

示例: Add_User不允许,add_user、AddUser、m_AddUser允许。 除了编译开关/头文件等特殊应用,应避免使用_EXAMPLE_TEST_之类以下划线开始和结尾的定义。

混合编程中C/C++部分沿用C/C++编程规范中对应部分。

1.2. 类和方法

C++的类名采用驼峰式命名法以大写字母C开头作为标识,例如class CMyClass。 Objective-C类命名采用ObjC模式,子类的起始标识与父类保持一致,例如@interface NSMyClass:NSObject、@interface UIMyClass:UIView等。

为了区别混合编程中C/C++方法和ObjC方法的区别,C/C++方法采用以大写字母开头的驼峰式命名法,ObjC方法采用小写字母开头的驼峰式命名法。 方法名称必须明确表达出该方法的用途,驼峰名中第一段须表示出该方法的主要动作或者宿主对象,例如可采用这种方式:btnPressed,使用第一段btn用于表示这是一个按钮方法。

get和set在ObjC中有明确含义,在非自定义的获取器和设置器方法中,避免使用get和set开头的方法名称,以免造成和系统生成的方法冲突而歪曲了代码的意图。 方法命名应体现出该方法的内存管理信息,如果方法内部创建了对象并没有释放,需要由调用者释放,则方法名以C(Create)结尾,表示其内部创建了未释放的对象。 ObjC方法含有多个参数时,应采用分段命名方式,每个分段采用以小写字母开头的驼峰式命名法明确的表示出该参数的含义,形参可采用一个小写单词来表示。

1.3. 参考代码

头文件

// 类型定义

typedef enum MYCOLOR {

kRed = 0 // 常量 }TMyColor;

// ObjC类定义

@interface NSTestClass : NSObject {

// 类成员属性

NSInteger m_iValue; // 整型

NSString* m_sBtn; // 字符串型 }

// ObjC方法

- (NSInteger)getValue;

- (void)btnPressedC:(id)sender;

2020-12-13

南京润趣授权,未经许可不得扩散

第3页, 共10页

文档名称 文档密级:公开

// C/C++方法 float GetGlobal();

@end

实现文件

// 全局变量命名

CGFloat g_fHeight = 480;

@implementation NSTestClass

- (NSInteger)getValue {

return m_iValue; }

// 创建了未释放对象的方法 - (void)btnPressedC:(id)sender {

UIButton* btnTmp = (UIButton*)sender;

if (nil != m_sBtn) {

[m_sBtn release]; m_sBtn = nil; }

m_sBtn = [[NSString alloc] initWithString:btnTmp.currentTitle]; }

float GetGlobal() {

return g_fHeight; }

- (void)dealloc {

[super dealloc]; }

@end

2020-12-13

南京润趣授权,未经许可不得扩散

第4页, 共10页

文档名称 文档密级:公开

2. 注释规范

注释的原则是有助于对程序的阅读理解,在该加的地方都加了,注释不宜太多也不能太少,注释与代码的比例要求为30%,注释语言必须准确、易懂、简洁。

2.1. 源文件头部应进行注释,列出:版权说明、版本号、生成日期、作者、

模块目的/功能、主要函数及其功能、修改日志等。可以适当选择你要包含的信息。模板如下:

文件头模板:

/****************************************************************************** 文件名称 : 文件名称 版权声明 : Copyright(C) 2008-2010 ….. All Rights Reserved. 文件描述 : 修改记录 : 姓名 时间 版本号 修改内容 : 新增 Review记录: 姓名 时间

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

*说明:文件描述一项描述本文件的内容、功能、内部各部分之间的关系及本文件与其它文件关系等。

2.2. 函数头部应进行注释,列出:函数的目的/功能、输入参数、输出参数、

返回值、调用关系(函数、表)等。

函数头模板:

/****************************************************************************** 函数名称 : 函数描述 : N/A 输入参数 : N/A 输出参数 : N/A 返回值 : N/A 备注 : N/A

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

*说明,在函数涉及到申请新内存,并把它赋值给输出参数时,输出参数应指明由调用者来释放内存。

2.3. 对代码进行改动时要加注释

2020-12-13

南京润趣授权,未经许可不得扩散

第5页, 共10页

南京润趣iPhone编程规范 - 图文

文档名称文档密级:公开Productname产品名称iPhone编码规范Productversion产品版本V1.0Confidentialitylevel密级公开Total10pages共10页iPhone编码规范Preparedby拟制Re
推荐度:
点击下载文档文档为doc格式
5z3w5156x98xswm2yhl07916095ebr009ex
领取福利

微信扫码领取福利

微信扫码分享