我刚刚阅读了Programming by Coincidence文章。页面末尾有练习。一些代码片段是“巧合编程”的情况。但是我无法弄清楚这部分的错误:
public static void debug(String s) throws IOException {
FileWriter fw = new FileWriter("debug.log", true);
fw.write(s);
fw.flush();
fw.close();
}
这有什么问题?
最佳答案
此代码依赖于以下事实:在应用程序的执行目录中存在可写的名为debug.log
的文件。 Web开发人员的应用程序很可能没有使用此文件进行设置,并且当他尝试使用该方法时,该方法将失败。
此代码的单元测试将起作用,因为原始开发人员在正确的位置具有正确的文件(并具有正确的权限)。这是使单元测试成功的巧合。
关于java - “巧合编程”练习: Java File Writer,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2603871/