编码规范小结1
1,编码规范的意义
a,在一个软件生命周期中,80%的话费在于软件维护,良好的编码规范可以尽可能的减少维护成本;
b,几乎不存在一款软件,在它的生命周期中,都由最初的开发人员来维护;
c,良好的编码规范可以增强程序可读性,使得开发人员能够较快较准确得理解新的代码;
d,良好的编码规范可以使得软件的源码尽可能清晰无误的被打包,作为产品发布,所有构建的软件产品都应如此;
e,良好的编码规范可以最大限度得加快团队合作的开发效率;
f,良好的编码规范可以使得软件开发人员养成细心、严谨、缜密的编程思维。
2,编码规范
(1)命名规范
包(package):全部小写的ascii字母,包名通常为顶级域名(com, edu, gov, org, net),举例:com.crearo.android。
类(class):有实际意义的拼接起来的单词,每个单词首字母都应大写,举例:UserService, ReveiveAddress。
异常类:通常以Exception为后缀,举例:DaoException。
函数(method):首字母小写,其余单词首字母大写,举例:showMessage, printInfo。
回调函数:通常以on为前缀,举例:onMouseFocus。
局部变量:首字母小写,其余单词首字母大写,举例:familyName, lastLoginIp。
成员变量:以m为前缀,其余单词首字母大写,举例:mEditText。
静态变量:以s为前缀(表示static),其余单词首字母大写,举例:sWindowHeight。
数组:以s为后缀(表示多个元素,或者list集合),其余单词首字母大写,举例:members。
常量:所有字母大写,单词之间用下划线"_"分割,举例:HIGH_LEVEL, LOW_LEVEL。
枚举:与常量用法一致。
(2)变量声明与初始化
a,建议一行只声明一个变量;变量声明时通常同时初始化,但若其值尚不确定或者依赖于其他计算时,可以不必初始化;
b,变量的声明一般位于方法或者语句块的首部,语句块一般是指{ }代码块,不可随意放置,不可随用随声明,放置作用域混乱,(例外:for循环内部的局部变量,如for(int i=0; i < 10; i++){});
c,避免同名变量的声明:成员变量和局部变量,代码块外部变量和代码块内部变量,同名变量极易造成混乱;
(3)分隔与缩进
a,空行:同一源文件中的多个类与接口之间;方法之间;方法内部局部变量声明之后、具体逻辑语句之前;方法中不同逻辑代码段之间;注释之前。
b,空格:逗号","之后;运算符之间;类名与类体符{}之间;方法括号()与方法体符{}之间;单行注释符"//"之后。
c,换行:一条语句占用一行。
d,小括号():一般在复杂运算表达式中使用。
e,花括号{}:类体或方法体的开始与结束,语句块的开始与结束,开始符"{"可置于一行末尾或者单独另起一行,在JAVA中习惯将开始符"{"置于一行的末尾,结束符"}"要与整个代码块的开始字母对齐。
f,缩进:类中的变量、方法体,方法中的成分,语句块的成分,一般缩进量为四个空格或者一个制表位。
(4)注释
多行注释:是对方法、数据结构、算法、功能代码块的描述
多行注释一般位于这些内容之前,也可以位于方法体之内的首部,或者是语句块{}中的首部,并且注释与具体代码之间要有一个空行。
单行注释:"//",是指显示在一行内的短注释,注意事项如下:
a,单行注释与其后的代码有相同的缩进层次,注释符"//"后一般要有一个空格;
b,单行注释前一般要有一个空行,但注释前若是语句块{},则可以不必加空行了;
c,{}语句块中开始的单行注释一般从{}的第一行起并独占一行,而不是直接位于开始符"{"之后。
3,编程习惯的培养
(1)编码规范:编码规范的重要性以及方法,小菜已经阐述了一二,不再赘述了。
(2)编程思维:小菜在这不敢大谈编程思维或者称编程思想,但平时实现一个功能模块或者编写项目时从不未经过大脑思考就开始盲目鞭打键盘。这是个量变到质变的过程,只有日积月累的积淀,才能对编程思想有很好的把握吧,小菜一直在努力前行着。
(3)代码受控:在我们的功能代码中插入异常处理、类型检查、阵列边界和索引检查等,以保证我们的代码安全的执行,这项机制在培养我们良好编程规范中起到重要作用,小菜也在平时学习工作中认真培养着。