Java:更适合小白的Java语言开发规范(根据阿里巴巴Java开发手册总结整理)

9 篇文章 0 订阅
5 篇文章 0 订阅

一 代码原则

通过所有测试(Passes its tests):强调的是外部需求,这是代码实现最重要的
​尽可能消除重复 (Minimizes duplication):代码的模块架构设计,保证代码的正交性,保证代码更容易修改
尽可能清晰表达 (Maximizes clarity):代码的可阅读性,保证代码是容易阅读的
更少代码元素 (Has fewer elements):保证代码是简洁的,在简洁和表达力之间,我们更看重表达

二 命名规范

项目名全部采用小写方式, 单词之间以中划线分隔。如my-first-job

包名: 使用小写字母,多个单词使用点分隔,如com.example.myproject

类名: 使用驼峰命名法,每个单词首字母大写,如MyClass

方法名: 使用驼峰命名法,首字母小写,第二个单词开始首字母大写,如myDemo

变量名: 使用驼峰命名法,首字母小写,第二个单词开始首字母大写,如totalCount

常量名: 使用大写字母和下划线如MAX_SIZE.

三 方法参数规范

每个方法的参数数量不超过3个,超出三个参数要封装成javabean对象。

四 注释规范

在书写代码时,应养成添加注释的习惯,便于我们或他人快速阅读、理解代码。但是注释数量不应过多(例如每行代码都添加一条注释),数量过多反而会造成反面效果。从理论上来讲,对于程序中的每个变量、每个方法都应添加对应的注释,方法作用尽量使用方法名表示,注释中应具有返回值、用途、算法实现逻辑等信息。使用注释时,原则上注释应单独成行,尽量不要使用行内注释,以Javadoc形式的注释为佳。

/**
 * This is a Javadoc comment.
 */
public class MyClass {
    /**
     * Calculates the total.
     * @param a The first operand.
     * @param b The second operand.
     * @return The total.
     */
    public int calculateTotal(int a, int b) {
        // code here
    }

五 代码目录结构

目录结构应统一、符合约定,不要随意按照自己的喜好修改包名或类名。符合特定条件的类应放在对应的包下,例如,src为根目录,存放所有核心源码;common存放一些通用的类库,config存根配置信息,moudel为各个业务模块等。

我们常用的mvc模式分层为controller、service、manger、dao层。controller 负责协同和委派业务,充当路由的角色,方法内要求不做任何关于业务逻辑的操作,不做任何数据相关的操作,如组合、拼接、赋值等操作。service层负责处理业务逻辑,manger层是对第三方平台封装的层,预处理返回结果及转化异常信息;dao层禁止直接在 mybatis xml 中写死常量,应从 dao 中传入到 xml 中,同时建议不要使用星号 * 代替所有字段,方法命名尽量以sql语义命名,避免与业务关联。

六 其他

基本数据类型尽量使用其包装类型(如int--Integer);

类中布尔类型的变量不要使用isXXX命名(如isFlag,isDelete),否则部分框架解析会引起序列化错误;

左花括号不另起一行,右花括号另起一行;

if (condition) {
    // code here
} else {
    // code here
}

运算符前后加上空格,使表达式更清晰;

int result = a + b;

导包名确导入需要的类,不要使用通配符*;

import java.util.List;
import java.util.ArrayList;

异常处理不要捕捉所有异常,应该具体捕捉可能发生的异常;

try {
    // code that may throw an exception
} catch (SpecificException ex) {
    // handle specific exception
} catch (AnotherException ex) {
    // handle another specific exception
} finally {
    // code to be executed regardless of whether an exception is thrown
}

避免在循环中使用String拼接,尤其是在大量数据的情况下,使用StringBuilder来提高性能。

// 不推荐
String result = "";
for (String str : listOfStrings) {
    result += str;
}
 
// 推荐
StringBuilder result = new StringBuilder();
for (String str : listOfStrings) {
    result.append(str);
}
  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值