栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java代码规范,简单总结,面试入职必备

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java代码规范,简单总结,面试入职必备

目录

         一、命名规范:

二、代码书写排版

三、风格统一

四、异常规范


一、命名规范

1、Class命名:

大写字母开头而其他字母都小写的单词组成:  public class StudentDetail

2、方法命名:

方法的名字用一个小写字母开头,峰谷形式。public String getStudentById

3、变量命名:

便量的名字用一个小写字母开头,峰谷形式。private String studentName;

4、静态常量命名:

Static Final 变量的名字都应该大写,并指出完整含义。
eg:Public static final String STUDENT_NAME = “Student  name”,

5、变量参数命名:

变量的名字用一个小写字母开头,后面的单词用大写字母开头, 使用有意义的参数命名,如果可能的话,使用和要赋值的字段一样的名字。SetCounter (int size)

6、数组规范:

用byte[] buffer ,而不是 byte buffer[]

7、项目中命名规范:

使用mybatisPlus 为例

model层:

public class Student extends Model{}

mapper层:

public interface StudentMapper extends baseMapper{}

service层:

public  interface  IStudentService extends IService{}

impl层

public class StudentServiceImpl extends ServiceImpl implements  IStudentService{}

controller层

public class StudentController extends baseController{}

二、代码书写排版

1、短句代码:

不要把多个短语句写在一行,即一行只写一条语句。

2、算法操作:

进行算法操作,尽量使用如下形式:a+=b;而不使用 a=(c>d)?f:g 这种算法,改成用if条件分支判断。

3、行字符:

每行代码一般不超过80个字符,源代码一般不会超过这个宽度,并导致无法完整显示,但这一设置也可以灵活调整,在任何情况下,超长的语句应该在一个逗号或者一个操作符后折行,一条语句折行后,应该比原来的语句再缩进4个空格。

4、行缩进:

缩进应该是每行4个空格,不要在源文件中保存Tab 字符,在使用不同的源代码管理工具时 Tab 字符因为用户设置的不同而扩展为不同的宽度。

5、引用包导入:

Package 行要在 import 之前,import 中标准的包名要在本地的包名之前,而且按照字母顺序排列,如果 import 行中包含了同一个包中的不同子目录,则应该用 * 来处理。
package com.smice.apps.royalty.action.admin
import java.io.*
import java.util.List
import com.smics.apps.royalty.domain.VendorCodeMapping;
6、多态函数:

多态函数应该用递增的方式写,参数多的写在后面              

Public void paint (Sting s);
Public void paint (Sting s, int d);

7、{}语句格式
 {}中的语句应该单独作为一行

8、判断语句格式:

If , for, Do,while,case,switch,default 等语句自占一行,且if,for,Do,while等语句的执行语句部分无论多少都要加{};

三、风格统一

1、固定常量:

 所有固定字符串封装在Constants里面,方法里不要有硬编码

public final class Constants{

public static final String STU_NAME = "stu name";

}

调用时:Constants.STU_NAME  

2、方法返回值:

一个方法返回List或Map或其他对象时,如果方法里没有抓到值要返回new ArrayList()或new HashMap().默认返回null。

3、Class注释:

Class顶部要有注释

4、日志LOG

 需要打log的地方用Log.info(“xxxxxx”),不要用System.out.println(“xxxxx”)

日志 @Slf4j 注解

用法:log.info( );

5、变量、方法名命名:

方法名必须有意义,杜绝String a,String b等无意义写法。

6、Class引用:

 删除所有没有使用过的class引用

四、异常规范

1、错误日志

业务发生错误时,将错误记录到日志表中

2、空指针:

对数据进行判空处理,如果数据为空抛出异常

if (StrUtil.isBlank(studentId)) {
    throw new ServiceException(ExceptionEnum.ERROR);
}

3、错误处理:

所有Service的方法都要抛出ServiceException,在Controller中去try catch,出错时要记录log并返回错误消息到页面

4、工具包:

判空使用工具包中的util去实现 ,如ObjectUtil.isEmpty, StrUtil.isBlank,ColUtil.isEmpty

5、保存数据接口:

除非特别必要,不要把保存数据接口与查询接口合并到一起,分开成2个独立的接口

6、Controller:

 所有的Controller要继承WebController/baseAction

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/397218.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号