怎样快捷的移除测试代码
不明白你所谓的测试代码是什么意思,如果程序中测试逻辑等是否正确,完全可以通过日志来标记,这个可以通过log4j等日志框架,配置不同的日志级别。如果是纯粹的测试用例,就剥离开,放到单独的目录下,打包的时候把测试代码例外,不包含即可,这个用maven等构建工具就可实现。
■网友
1. 不要在你的代码里残留无用的注释,就是说测试代码不用就应该删了2. 不要在代码里使用System.out.println这种东西,因为其输出总是stdout,你无法控制它3. 如果实在舍不得删掉的测试代码,就把它变为规范化,参考 @leaves (不过个人更推荐slf4j+logback,是log4j作者后来写的)
■网友
1. 使用log框架 : log4j ..2. 写个单例的log类,读取配置文件的设置,在代码中使用if(debugFlag) { /*some debug info printout*/ }
■网友
看到别人用过的方法是添加一个全局变量debug标记, 在写输出信息是这样: if(debug) System.out.println("信息"); 不需要输出时将debug设置为false即可.
■网友
junit去定义测试的类,其他用log4j
■网友
你的情况很常见一般为了开发方便很多人都会加debug级别的log而一般对付这些log标准的做法是采用log框架的开启判断先检查一下,然后输出这样可以解决log的内容本身的额外拼接对上线后的压力但是你觉得你会为debug的log写成如下样子么if(xxx.isDebugEnabled()){ xxx.debug(aaa+bbb+ccc+ddd);}相比之下还不如这样xxxDebugLogger.debug(aaa+bbb+ccc+ddd);然后上线以后统一删除xxxDebugLogger的那行或者全文替换+个/*到前面再找;补个*/我这边采用的方案是通过hudson做ci的发布基于ant里面有一个步骤是统一检查代码风格(实际上就是执行一些全文替换的脚本)然后剔除这部分再发布同时对log4j做了包装将isEnable的语句给集成了因为如果不是web程序(即使是web这个需求也比较少)一般log4j的级别启动的时候就固定了不会变的所以启动后一个error的logger已经对debug之类的操作直接return,连那些重复的多余的判断都没有执行
推荐阅读
- 聪明人养花,这3种“花”怎样也要养一盆,每年能省不少医药费
- 互联网怎样解决“家政服务上门速度慢”的问题
- 怎样看待从1月8号起,QQ钱包开始提现收费
- 银行it人怎样转型
- 大学再有三个月就结束了,没学到知识,参加一个软件测试培训机构好吗
- 汽车|冬天怎样让车内温度快速升高?座椅加热的最佳使用方式二,外循环的作用总结
- 怎样进入通信行业
- 怎样评价扶他柠檬茶的小说《云养汉》的结尾
- 怎样成为一名合格的Python程序员?
- 怎样评价华为、诺基亚、中兴中标中国移动高端路由交换设备扩容集采
