最近为了新加一个功能,决定修改配置文件。此配置文件为多模块共同使用的,所以领导让我修改的时候多加小心,别改完了别的模块跑不起来了。
然而悲剧还是发生了,当我信心满满地改完后,发现其它模块必须重新编译,才能正常运行。
究其原因,是因为在某配置(称为A)中,原配置写死了A一共只有X项,如果要改成X+1项,别的模块如果不升级就不能正常运行。(因为原来的写法写死了A如果读的项不等于X就return 0)
其实可能当初写的人也没想到A以后会扩展,所以直接写死A的内容就只有X项,其实好的做法应该是做出合适的预留,或者把A包含的项数也单独写成一个配置参数。这样会有比较好的扩展性。