是用 #if DEBUG 还是用 if(flag) 来区分开发与产品版本
比如应用在开发时和产品环境分别访问的数据库是 A 和 B
可用的办法有
1:预编译的方式
#if DEBUG
string constr = "point to A db";
#else
string constr = "point to B db";
#endif
优点:不会提示重复定义变量,生成代码是优化的
缺点:当要连到产品数据库调试时,不好办了,DEBUG 又想用 RELEASE 的代码
2: 标识
string constr;
if(flag)
constr = "point to A db";
else
constr = "point to B db";
优点:想怎么调试都行,改下 flag 就换了
缺点:判断逻辑会生成到目标代码中,变量要在判断外预先声明
基于对产品环境问题的重现,我想颠覆一下原来的想法,改为用 flag 来区分的方式。