如何写好代码

来源:互联网 发布:中原工学院网络教务处 编辑:程序博客网 时间:2024/05/01 17:40

一、代码命名规范:
1、 package包名全部由小写的ASCII字母组成,用“.”分隔。在此项目中,所有的包均以“com.abc.ticket”开头。

2、 class 类名应当是名词,每个内部单词的头一个字母大写。应当使你的类名简单和具有说明性。用完整的英语单词或约定俗成的简写命名类名。
【示例】public class UserManager

3、 interface接口名应当是名词,每个内部单词的头一个字母大写。应当使你的接口名简单和具有说明性。用完整的英语单词或约定俗成的简写命名接口名。
【示例】interface TicketManagement

4、 Class 成员属性及变量的命名 (*) 变量名全部由字母组成,头一个字母小写,以后每个内部单词的头一个字母大写。变量名应该短而有意义。变量名的选择应该易于记忆。一个字符的变量名应避免,除非用于临时变量。通常临时变量名的命名规则为:i,j,k,m,n用于整数;c,d,e用于字符。

5、常量的命名,Java 里的常量,是用static final 修饰的,应该用全大写加下划线命名,并且尽量指出完整含义。
【示例】static final String SMTH_BBS=”bbs.tsinghua.edu.cn”;

6、数组的命名,数组应该总是用下面的形式来命名:byte[] buffer;

7、方法的参数和变量的命名规范一致,且应使用有意义的参数命名,如果可能的话,使用和要赋值的字段一样的名字。
【示例】setCounter(int size){ this.size = size; }

8、 方法命名(*)方法的命名应当使用动词,头一个字母小写,以后每个内部单词的头一个字母大写。在方法名的选择上应意义明确便于记忆。对于属性的存取方法,应使用getXXX()和setXXX()名称,以isXXX(),hasXXX()来命名返回值为boolean 类型的方法。

以上几条如果符合就算是好代码了吗?当然不是,这只是代码中最基本的命名规范而已,就算不符合最多就是代码不好看,没什么其他影响。

二、代码逻辑规范
1、需求、设计中的重点功能(结合需求/设计的评审产出)

2、代码格式校验
action/façade等系统入口是否有数据格式校验
需要存入数据库的数据字段是否有长度校验

3、分支/循环
if-else/switch是否处理了所有分支
分支的条件语句是否有“副作用”;即,条件语句是否会改变系统状态/数据等
循环边界是否覆盖了所有元素
是否有死循环等

4、异常处理
是否有“吃掉异常”的情况
是否记录了异常日志
如果二次抛出,是否有合理的异常层次/结构
如果内部处理,对异常的处理是否能保证后续代码正常运行

5、单元测试
是否有单元测试
单元测试是否自动化
单元测试是否能完整覆盖需求

6、 事务处理
事务范围是否合理;或者说,是否把不必要的操作放到了同一个事务中
事务传播方式是否合理(required,never,new等配置)

7、sql语句
sql语句是否正确
使用mybatis的动态语句时,是否有潜在的sql语法问题

三、可读性,可维护性

四、性能瓶颈

0 0