词条 | 神仙数 |
释义 | 神仙数 是指在程序异或是工程中出现的常数 比如你在写一个9宫的C++程序,你定义了一个数组int map[3][3],后来在程序中不断出现3和9这样的字眼 但是如果我想扩展呢,想把9宫扩展成为16或是25或是缩小为4宫呢 比如我现在想扩展成为16宫,这样的话我就得把程序中所有的3改为4,所有的16改为9,很显然会比较麻烦 或许有些人会说,我可以用替换功能搜索所有的3替换为4,9替换为16,确实,对于这个简单程序是可以在30秒之内用这种方法解决, 但是如果是一个很大很大的工程呢,我们还是替换所有的要改的数字如2替换为3吗,结果22变成33了,变量a2b变为了a3b 所以为了避免以后维护和修改带来的麻烦,在程序中应该尽量避免出现神仙数 可以使用const定义一个变量代替该常数,修改的时候只需修改const变量的值即可 比如对于9宫定义 const int MAPWIDTH = 3; const int MAPTOTAL = 9; 最终要扩展为16宫的时候,只需要将上面的语句改为 const int MAPWIDTH = 4; const int MAPTOTAL = 16; 即可 而且对于出现在工程中的常数,当别人或者是日后维护的时候碰到,会觉的这个常数莫名其妙,猜不到是什么意思 比如你碰见了3,那么这个3代表什么呢,是宽度,总数,基数还是其他的什么含义 所以用const定义一个含义比较清晰地变量,使其值为3,如上面的MAPWIDTH 在原来是3的地方现在是MAPWIDTH,我们就很容易想到宽度了啦 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。