通过配置文件构建XML

前几天写了个小工具,因为在安装的时候需要一天安装玩几十台机器,因此为了方便需要写个程序可以同时直接生成配置文件,省得到时候要一台一台地配置,

时间比较紧迫,临时学习了下XML,写得很仓促,半天学XML和wxwidget操作XML,不得说XML确实很麻烦,不知道当初配置文件为什么选用XML,后来据说是因为写这个的程序员喜欢新技术....

因为在写XML的时候需要一个个保存每个节点要创造什么,每个key对应一个val,刚开始用一个结构体,里面保存了这个节点的name,val,func,就是没有保存key,其实结构体里面把函数换成key会更好,因为我最后看了下代码,其实所有的操作就key和val不同,所以写一个函数CreateNode函数来创建节点,写的时候是想到这点了,但是不知道为什么要把key换成一个函数,然后函数里面保存这个key,这样每次增加东西就要增加一个函数,感觉这个设计很白痴,更糟糕的是用的是数组,也就是增加函数的同时还要更改数组

总结了下,这次写代码得到几点经验:

1:不要把一个东西写死在函数里面,可以利用C++的默认参数,比如我在一个函数里面有个int类型,现在你感觉他是固定的,但是以后说不定什么时候就会改变,或者说每个函数调用都可能需要不同的数字,这个时候利用C++的默认参数,不会增加程序员的负担,以后如果发现这个数字不固定了,不用更改函数声明

2.这次写创造一个节点的时候,也就key的这个数组不变,比如createA和CreateB也就里面的key array不同,我原来是这样的CreateA(val_array),CreateB(val_array),然后函数再生命key array,但是其实可以把key array函数参数里面,结果可以省去写很多createX的函数

3.做第二点的时候想把key array利用可变参数放进去,但是发现不会用,后来发现如果有可变参数还是很方便,因为在创建wxarrayString的需要每次都array.add(str),很不方便,如果有可变参数就方便多了,这个还是要学下

原文地址:https://www.cnblogs.com/linyilong3/p/2485179.html