分析一套源代码的代码规范和风格并讨论如何改进优化代码
Posted gfsh
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了分析一套源代码的代码规范和风格并讨论如何改进优化代码相关的知识,希望对你有一定的参考价值。
我的工程实践课题是《图书馆管理系统》,结合工程实践找了一份java代码,下面对其进行讨论,该项目在github上的具体框架如下图:
1. 类名
类名采用大驼峰的命名形式,所谓大驼峰就是首字母大写,例如UpperCameCase。
抽象类命名使用 Abstract 或 Base 开头;异常类使用 Exception 结尾;测试类命名以测试的类名开始,以 Test 结尾。
枚举类名带上 Enum 作为后缀,枚举成员名称需要大写,单词间用下画线隔开。
2. 包名
包名统一使用小写,点分隔符之间有且仅有一个自然语义的英语单词。一般单词使用单数形式,但是类名如果有复数含义的话,则可以使用复数形式。
3. 变量
变量可分为不可变量(常量)和可变变量。
(1). 常量
在 Java 中,常量一般指 final 关键字修饰的变量。
1、全局常量和类内常量的命名采用字母全部大写,单词之间加下画线的方式。
所谓全局常量指的是类的公开静态属性,使用 public static final 修饰;类内常量指的是私有静态属性,使用 private static final 修饰。
2、局部常量则采用小驼峰的形式。所谓局部常量指的是方法内的常量。
例子展示(代码片可以左右移动):
(2). 可变变量
可变变量一般常用小驼峰的命名形式,如 myName ,小驼峰和大驼峰的区别就是,小驼峰首字母小写,而大驼峰首字母大写。不过需要注意的是,针对布尔类型的变量,在命名的时候,不要用 is 做前缀,否则部分框架在解析的时候会引起序列化错误。
例如标识是否删除的成员变量 Boolean isDeleted, 它的 getter 方法也是 isDeleted(),框架在反向解析的时候,会误认为对应的属性名称为 deleted,从而引起错误。
4. 空格
我发现很多人在写代码的时候,在运算符、赋值、参数等之间很少使用空格来隔开各种元素之间的距离,例如
像上面的这个例子中,就是几乎没用到空格的,代码看起来很紧,反正我看起来是很不舒服,特别的当代码很多的时候。
下面是我给的关于加空格的几点建议:
1、二目、三目运算符的左右两边都应该加一个空格。
2、注释的双斜线与注释内容之间有且仅有一个空格。
3、方法参数在定义和传入参数时,多个参数逗号后边都应该加空格。
4、如果大括号为空,则简洁地写成{}即可,大括号中间无须换行和加空格。
5、左右小括号与括号内部的相邻字符之间不要出现空格。
6、左大括号前需要加空格。
所以,修改后如下:
3.列举哪些做法有悖于“代码的简洁、清晰、无歧义”的基本原则,及如何进一步优化改进
源码整体注释较少,远低于注释要占代码20%的要求,尤其是对宏的注释,基本没有。改进:添加注释——每一条宏都要加注释;在函数定义的开头添加注释以说明该函数的作用
以上是关于分析一套源代码的代码规范和风格并讨论如何改进优化代码的主要内容,如果未能解决你的问题,请参考以下文章