为什么要全面思考问题
□ 在软件开发中,对一个问题思考得越全面,编写出的代码就会越严谨,出现bug的几率就越低;反之,如果没有对一个问题进行全面而深入的思考,编写出的代码就会漏洞百出,出现各种莫名其妙、无法复现的bug的几率也就急剧增加。
□ 软件就是数据加逻辑,数据是“肉身”,逻辑是“灵魂”。如果不全面思考问题,在某些情况下, “灵魂”就会“精神错乱”,甚至损坏“肉身”,进而导致无法正常工作。
□ 只有经过全面思考编写出的代码,才是严谨的,才能保证可靠性。一份代码即使严格遵守了代码规范,重构了设计模式,但思考不全面,逻辑不严谨,也不能称之为优雅。
□ 没有经过全面思考开发出的软件,虽然短期内可能能正常工作,但长远来看,各种问题和漏洞一定会爆发出来,从而导致系统的可靠性、可维护性和稳定性大打折扣。记住墨菲定律:凡是你认为可能会出错的,它一定会出错。
下面,我们通过几个实例来理解如何进行全面思考。
实例1
输入若干个整数作为数组,将数组中每一个元素除以第一个元素的结果,作为新的数组元素值。
这道编程题并不难,稍加一思索,很容易给出下面的答案。
#include <iostream>
using namespace std;
static void DivArray(int *pnArray, int nSize)
{
for (int i = 0; i < nSize; i+