码迷,mamicode.com
首页 > 其他好文 > 详细

分析一套源代码的代码规范和风格并讨论如何改进优化代码

时间:2019-10-13 15:27:39      阅读:87      评论:0      收藏:0      [点我收藏+]

标签:的区别   strong   内容   cep   反向解析   github   英语单词   管理   风格   

我的工程实践课题是《图书馆管理系统》,结合工程实践找了一份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%的要求,尤其是对宏的注释,基本没有。改进:添加注释——每一条宏都要加注释;在函数定义的开头添加注释以说明该函数的作用

 

分析一套源代码的代码规范和风格并讨论如何改进优化代码

标签:的区别   strong   内容   cep   反向解析   github   英语单词   管理   风格   

原文地址:https://www.cnblogs.com/gfsh/p/11666248.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!