一分钟不一定60秒,因为有闰秒的情况 (可以为61秒或62秒)。
三角形内角和也不定是180度,因为有非欧几里得的几何。
C++/Java 中,
a+1
不一定小于a ,因为会有溢出的情况。
阳历一个月也可能有出现小于28天的情况,1972年9月只有19天,为日历同步而进行的调整。
列举上面的例子,只为说明一个问题,程序员在编程时候,不要自作聪明的以为,某些假设是放之四海皆准的。
总有你想不到或者不知道的情况。为了安全起见,加上assertion验证你的假设,总是防御性编程的一种好方法。
No comments:
Post a Comment