编程那点事编程那点事

专注编程入门及提高
探究程序员职业规划之道!

最新发布

四、安全规约
Java编程

四、安全规约

阅读(604)

1. 【强制】 隶属于用户个人的页面或者功能必须进行权限控制校验。说明: 防止没有做水平权限校验就可随意访问、 修改、删除别人的数据,比如查看他人的私信内容、修改他人的订单。2. 【强制】用户敏感数据禁止直接展示,必须对展示数据进行脱敏。说明: 中国大陆个人手机号码显示为:158****9119,隐藏中间 4 位,防止隐私泄露。3. 【强制】用...

三、单元测试
Java编程

三、单元测试

阅读(749)

1. 【强制】好的单元测试必须遵守 AIR 原则。说明: 单元测试在线上运行时,感觉像空气(AIR) 一样并不存在,但在测试质量的保障上,却是非常关键的。好的单元测试宏观上来说,具有自动化、独立性、可重复执行的特点。A: Automatic(自动化)I: Independent(独立性)R: Repeatable(可重复)2. 【强制】单元测试应该是全自动执行的,并且...

(二)日志规约
Java编程

(二)日志规约

阅读(324)

1. 【强制】应用中不可直接使用日志系统(Log4j、 Logback) 中的 API,而应依赖使用日志框架SLF4J 中的 API,使用门面模式的日志框架,有利于维护和各个类的日志处理方式统一。import org.slf4j.Logger; import org.slf4j.LoggerFactory; private static final Logger logger = LoggerFactory.getLo...

(一)异常处理
Java编程

(一)异常处理

阅读(896)

1. 【强制】 Java 类库中定义的可以通过预检查方式规避的 RuntimeException 异常不应该通过catch 的方式来处理,比如: NullPointerException, IndexOutOfBoundsException 等等。说明: 无法通过预检查的异常除外,比如,在解析字符串形式的数字时,不得不通过 catchNumberFormatException 来实现。正例: if (obj != null) {...}反例: try ...

(九)其它
Java编程

(九)其它

阅读(306)

1. 【强制】在使用正则表达式时,利用好其预编译功能,可以有效加快正则匹配速度。说明:不要在方法体内定义: Pattern pattern = Pattern.compile(“规则”);2. 【强制】 velocity 调用 POJO 类的属性时,建议直接使用属性名取值即可,模板引擎会自动按规范调用 POJO 的 getXxx(),如果是 boolean 基本数据类型变量(boolean 命名不需要加 is...

(八)注释规约
Java编程

(八)注释规约

阅读(960)

1. 【强制】类、类属性、类方法的注释必须使用 Javadoc 规范,使用/**内容*/格式,不得使用// xxx 方式。说明: 在 IDE 编辑窗口中, Javadoc 方式会提示相关注释,生成 Javadoc 可以正确输出相应注释; 在 IDE 中,工程调用方法时,不进入方法即可悬浮提示方法、参数、返回值的意义,提高阅读效率。2. 【强制】所有的抽象方法(包括接口中的...

(七)控制语句
Java编程

(七)控制语句

阅读(810)

1. 【强制】在一个 switch 块内,每个 case 要么通过 break/return 等来终止,要么注释说明程序将继续执行到哪一个 case 为止; 在一个 switch 块内,都必须包含一个 default 语句并且放在最后,即使空代码。2. 【强制】在 if/else/for/while/do 语句中必须使用大括号。 即使只有一行代码,避免采用单行的编码方式: if (condition) statement...

(六)并发处理
Java编程

(六)并发处理

阅读(772)

1. 【强制】 获取单例对象需要保证线程安全,其中的方法也要保证线程安全。说明: 资源驱动类、工具类、 单例工厂类都需要注意。2. 【强制】创建线程或线程池时请指定有意义的线程名称,方便出错时回溯。正例:public class TimerTaskThread extends Thread { public TimerTaskThread() { super.setName(&...

(五)集合处理
Java编程

(五)集合处理

阅读(735)

1. 【强制】 关于 hashCode 和 equals 的处理,遵循如下规则:1) 只要重写 equals,就必须重写 hashCode。2) 因为 Set 存储的是不重复的对象,依据 hashCode 和 equals 进行判断,所以 Set 存储的对象必须重写这两个方法。3) 如果自定义对象作为 Map 的键,那么必须重写 hashCode 和 equals。说明: String 重写了 hashCode 和 equals 方法...

(四)OOP 规约
Java编程

(四)OOP 规约

阅读(941)

1. 【强制】避免通过一个类的对象引用访问此类的静态变量或静态方法,无谓增加编译器解析成本,直接用类名来访问即可。2. 【强制】所有的覆写方法,必须加@Override 注解。说明: getObject()与 get0bject()的问题。一个是字母的 O,一个是数字的 0,加@Override可以准确判断是否覆盖成功。另外,如果在抽象类中对方法签名进行修改,其实现类...

专注编程入门及提高,探究程序员职业规划之道!