• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

引力束缚

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

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

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

 

posted on 2019-10-13 14:17  过分丝滑  阅读(188)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3