编写卓越的代码
软件工程师的智慧,就在于他们是否开始意识到:使程序能用和使程序正确,这两者之间有什么样的差别。 – M.A.Jackson, 《程序设计原理》
- 可用的代码:提供常规输入集,代码给出常规输出;一旦有意外输入,代码崩溃。
- 正确的代码:对于所有输入集,有正确的输出;
- 优秀的代码:一定是正确的代码;逻辑容易理解;代码自然;容易维护。
防御性编程
防御性编程是一种细致、谨慎的编程方法。为了开发可靠的软件,我们要设计系统中的每个组件,以使其尽可能地“保护”自己。我们通过明确地在代码中对设想进行检查,击碎了未记录下来的设想。这是一种努力,防止(或至少是观察)我们的代码以将会展现错误行为的方式被调用。
Java 中的实践
java.lang.Integer.parseInt() in Java 8.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public static int parseInt(String s, int radix) throws NumberFormatException{
if (s == null) {
throw new NumberFormatException("null");
}
if (radix < Character.MIN_RADIX) {
throw new NumberFormatException("radix " + radix +
" less than Character.MIN_RADIX");
}
if (radix > Character.MAX_RADIX) {
throw new NumberFormatException("radix " + radix +
" greater than Character.MAX_RADIX");
}
// 主逻辑
}
PREVIOUSKMP 字符串匹配
NEXTBash中'<<'的用法