java – 如何从代码库中删除System.out.println

前端之家收集整理的这篇文章主要介绍了java – 如何从代码库中删除System.out.println前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我们有一个巨大的(旧的旧 Java)代码库,其中许多文件(大约5k)都有System.out.println.我们计划将其删除,以进行清理/演示.我们如何编写一个脚本来代替它们,而不会在代码中引入任何问题?脚本不能盲目删除它们,因为以下情况可能是一个问题:
if ()
  some.code...
else
  System.out.println(...);
DB.close();

我正在考虑用’;’替换它们.这将照顾上述情况.你看到其他问题吗?任何其他建议?

解决方法

你有没有考虑这个傻事:
System.out.println(" Print " +  object.changeState() );

我不认为这是发生的,但是println可能执行一个实际执行系统所依赖的一些操作的方法,并且可能会引入微妙的错误(相信我或不相信,但是我目睹了这一点)

可能会用记录器替代并禁用记录器.

或使用NullObject模式创建一个空对象:

public final class DevNull { 
    public final static PrintStream out = new PrintStream(new OutputStream() {
        public void close() {}
        public void flush() {}
        public void write(byte[] b) {}
        public void write(byte[] b,int off,int len) {}
        public void write(int b) {}

    } );
}

并替换

System.out.println();

DevNull.out.println();

猜你在找的Java相关文章