编程那点事编程那点事

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

Java编程

(一)异常处理
Java编程

(一)异常处理

阅读(1964)

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

(九)其它
Java编程

(九)其它

阅读(941)

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

(八)注释规约
Java编程

(八)注释规约

阅读(1528)

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

(七)控制语句
Java编程

(七)控制语句

阅读(1682)

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

(六)并发处理
Java编程

(六)并发处理

阅读(1461)

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

(五)集合处理
Java编程

(五)集合处理

阅读(1673)

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

(四)OOP 规约
Java编程

(四)OOP 规约

阅读(1886)

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

(三)代码格式
Java编程

(三)代码格式

阅读(2084)

1. 【强制】大括号的使用约定。如果是大括号内为空,则简洁地写成{}即可,不需要换行; 如果是非空代码块则:1) 左大括号前不换行。2) 左大括号后换行。3) 右大括号前换行。4) 右大括号后还有 else 等代码则不换行; 表示终止的右大括号后必须换行。2. 【强制】左小括号和字符之间不出现空格; 同样,右小括号和字符之间也不出现空格;而...

(二)常量定义
Java编程

(二)常量定义

阅读(1264)

1. 【强制】不允许任何魔法值(即未经预先定义的常量) 直接出现在代码中。反例: String key = "Id#taobao_" + tradeId;cache.put(key, value);2. 【强制】 在 long 或者 Long 赋值时, 数值后使用大写的 L,不能是小写的 l,小写容易跟数字1 混淆,造成误解。说明: Long a = 2l; 写的是数字的 21,还是 Long 型的 2?3. 【推...

(一)命名风格
Java编程

(一)命名风格

阅读(1280)

1、【强制】代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束。 反例:_name _name_name / __name__name __name __name / $name$name $name / name_name_ name_ / name$ name$ name$ / name__ name__ name__2、【强制】代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式。 说明:正确...