重构-断言
现象:某一段代码需要对程序状态做出某种假设
做法:以断言明确表现这种假设
动机:
常常有这种一段代码:只有某个条件为真是,该改名才能正常运行。
通常假设这样的假设并没有代码中明确表现出来,必须阅读整个算法才能看出。
有时程序员会注释这样的代码。
而现在这种重构介绍一种更好的技术:使用断言明确标明这些假设。
断言是一个条件表达式,应该总是为真。如果他失败,就是bug。
因此断言的失败应该是一个非受控异常,断言绝对不能被系统其它部分使用。实际上,程序最后的成品往往将断言系统统统删除,因此,标记某些东西是个断言是很重要。