JsprX
  • Archive

编写卓越的代码——防御性编程

  • Coding
  • Defensive Programming
  • Dec 03, 2020
  • 0 views

编写卓越的代码

软件工程师的智慧,就在于他们是否开始意识到:使程序能用和使程序正确,这两者之间有什么样的差别。 – 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");
        }
      // 主逻辑
}
Subscribe

This work is licensed under a Attribution-NoDerivatives 4.0 International license. Attribution-NoDerivatives 4.0 International

PREVIOUSKMP 字符串匹配
NEXTBash中'<<'的用法
Search