欢迎来到天天文库
浏览记录
ID:28446682
大小:82.00 KB
页数:6页
时间:2018-12-10
《objective-c编码规范》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、Objective-G编码规范目录未找到目录项。文档修改记录前提Objective-C编码规范遵循公司的《c/c编码规范》,包括但不仅限于本文以下规则,供IOS开发人员进行参考。1.一般原则1.每个函数h文件头部必须包含函数头部说明,m文件不做强行要求。文件头部说明必须包含系统名称、模块名称、文件名称、软件版本、功能说明、系统版本、开发人员、开发时间和修改记录等几个部分。修改记录:当某个类修改后通过测试发布时,增加类的修改记录。软件版木:这个类被创建时当前的软件版木号。2.程序目录下,无用的代码和文件(包含资源阁片)必须
2、移走。3.不允许把多个短语句写在一行屮,即一行最多只写一条语句。4.合理使用空格、空行、对齐、缩行、长行拆分等方式格式化源代码,使程序舒展,可读。5.赋值操作符、比较操作符、算术操作符、逻辑操作符、位域操作符,如〃=〃、〃+=〃〃>=〃、〃/A〃等二元操作符的前后应当各加一个空格。6.用缩行显示程序结构,使排版整齐,缩进量统一使用4个字符。7.在函数体的开始、结构/联合的定义、枚举的定义以及循环、判断等语句中的代码都要釆用缩行。例如1.代码行最大长度宜控制在80个字符以内,较长的语句、表达式等要分成多行书写。例如:2.注
3、释说明为了能够使用开源的注释文档导出工具dox,大家统一采用以下格式的注释。1.单行注释采用///4•注释格式。1.多行注释采用/**...*/方式。例如3.注释应当准确、易懂,防止有二义性。错误的注释不但无益反而有害。4.边写代码边注释,修改代码同时修改相应的注释,以保证注释与代码的一致性。不再有用的注释要及时删除。5.当代码比较长,特别是有多重嵌套吋,应当在一些段落的结束处加注释,便于阅读。3.命名规范1.命名应当直观且可以拼读,可望文知意,便于记忆和阅读。标识符最好采用英文单词或其组合,避免使用拼音。程序屮的英文单
4、词一般不会太复杂,用词疲当准确。例如不要把CurrentValue写成NowValue。2.命名的长度应当符合“min-len-information”原则。例如变量名maxval就比maxValueUntiIOverflow好用。标识符的长度尽量不要过长,较长的单词可通过去掉"元音"形成缩写,如果有歧义的可以采用全拼。3.变量的名字应当使用前缀"名词"或者"形容词+名词〃。例如:floatvalue;floatoldValue;floatnewValue;1.创建的类或接口名应加上前缀〃Hs+类名〃,类名各单词连写,词
5、首字母,参照Objectivr-C类命名,加上前缀是为了便于和系统类区分。例如.•系统类:NSString、NSArray、NSMutableArray创建类:HsBasePage、HsPageManager2.程序中不得出现仅靠大小写区分的相似的标识符。3.局部变量不得与全局变量重名,尽管两者的作用域不同而不会发生语法错误,但会使人误解。4.所有宏定义、typedef定义类型、枚举常数、常量全用大写字母命名,用下划线分割单词。例如:constintMAX_LENGTH=100;//defineFILE_PATH"/re
6、source/tmp”5.全局变量加前缀8_(表示global)。6.变量的第一个字母小写,各单词连写。下一个词首字母大写。例如:floatoidValue;floatnewValue;7.类的成员变量前面加前缀_,属性不用加前缀。例如:NSString*_categoryType;©property(nonatomic,retain)SString氺categoryType;@synthesizecategoryType=—categoryType;8.函数名第一个词组采用小写,后面连写的单词第一个字母人写。9.函数
7、名命名规范采用英文单词或其组合,避免使用拼音。如果单词之间奋联系,可以采用"With、To、From...等进行衔接",形参命名规范可以参考变量的命名规范。3.内存管理规范1.-(void)dealloc必须为第一个方法,排在所有方法的最上面。必须在函数结束前调用[superdealloc];2.每个类必须要有init方法,则紧接着dealloc方法排列,如果是Hs创建的类有成员变量需要初始化,必须添加init方法。3.页面成员变量尽量在init方法里进行初始化。4.alloc、retain、copy关键字必须和rele
8、ase关键字对应。5.函数返回值如果是自己创建的,返回值必须要aoturelease。6.原则上类成员变量不需要重复创建,但是如果需要重新创建吋,要判断原来的值是否为空,正常释放。7.对内存数据进行访问时,耍进行空值和内存数据越界的判断。8.不要对受委托的对象值进行retain操作,防止受委托对象引用计数无法释放。4
此文档下载收益归作者所有