移动端开发规范
引言:最近得空,整理一些平时工作中要求的开发规范,浅薄之处还请大家多指教。
目录
代码规范
基本原则
-
代码清晰
又清晰又简洁的代码当然是最好的了,但简洁不如清晰重要。总的讲不要使用单词的简写,除了非常常用的简写以外,尽量使用单词全称。API的名称不要有歧义,一看你的API就知道是以什么方式做了什么事情,不要让人有疑问!
-
一致性
代码保持一致,例如:创建UI相关的方法,可以使用统一的方法命名,所见即所得,见表知其意,这样,既保证了代码的一致性,也可以方便我们后续维护和管理,也利于团队代码风格的一致,协调!
编程中比较常见的有下面三种命名方式
- 驼峰(Camel)命名法:又称小驼峰命名法,除首单词外,其余所有单词的第一个字母大写。
- 帕斯卡(pascal)命名法:又称大驼峰命名法,所有单词的第一个字母大写下划线命名法:单词与单词间用下划线做间隔
一般建议拿来做命名的单词要比较精悍短小,这样即使两三个单词一起拼装成一个命名,也不至于显得很冗长。当然有些单词我们也可以直接写成一些约定俗成的缩写。诸如:msg(message)、init(initial)、img(image)等….
通用规范
-
类命名
名词,采用大驼峰命名法,尽量避免缩写,除非该缩写是众所周知的。如HTML,URL,JSON,XML等.当然也可以根据开发中的一些命名习惯进行进行缩写,比如Activity会缩写为AC,UIViewController会缩写为VC。
接口命名
和类名基本一致。也可以在接口名前面再加一个大写的I,表明这是一个接口Interface。如:可以表明一个信息是否可以分享的接口,可以命名为Shareable,也可以是IShareable。
-
方法命名
动词或动名词,采用小驼峰命名法。
-
变量命名
采用小驼峰命名法。同样比较简单,但为了更好表明含义,建议做一下的的区分。成员变量命名前面加m(member,表示成员变量之意),如,控件的宽高 mWidth,mHeight。
-
常量命名
同样较为简单,全部大写,采用下划线命名法.如:MIN_WIDTH,MAX_SIZE
-
枚举类型命名
首字母大写,之后每个单词首字母都大写,最后加“s” 枚举变量使用枚举类型去掉“s”作为前缀,每个单词首字母大写,中间不允许加下划线 举例:
typedef enum UIControlEvents
{
UIControlEventTouchDown,
UIControlEventTouchUpInside
}
UIControlEvents;
-
图片命名
这个图片资源命名方式,以功能为组织形式,是一个很好的习惯,有利于查看资源文件。
原则
采用单词全拼,或者大家公认无岐义的缩写(比如:nav,bg,btn等)
采用“模块+功能”命名法,模块分为公共模块、私有模块。
公共模块主要包括统一的背景,导航条,标签,公共的按钮背景,公共的默认图等等;
私有模块主要根据app的业务功能模块划分,比如用户中心,消息中心等。
例如 :用户中心 用户头像图片的命名可以为:uc_user_icon.png
-
通用规范
- 第三方的库统一放在library目录下
- 代码量控制。单页代码最好控制在800行以内,每个方法最好不要超过80行,过多建议对代码进行重构