非功能性的代码决定了代码的质量。
使用De Morgan法则来理解代码
今天在看代码阅读方法与实践,看到用摩根法则来分析代码,挺有意思的,网上搜了下
-----------------------------------------------------------------------------------------------------------------------
De Morgan法则:
- !(x && y) → !x || !y
- !(x || y) → !x && !y
举个例子,我们来看看这个求三位数中最小值的代码:
- if (x < y && x < z)
- min = x;
- else if (y < z)
- min = y;
- else
- min = z;
我们现在利用De Morgan法则来看看,
第一条if,判断x < y && x < z,如果是真则最小值是x,这很好理解,关键是下面执行到else if (y < z)的条件是什么呢?自然是
- !(x < y && x < z) → x>=y || x >=z