【发布时间】:2016-09-15 17:38:27
【问题描述】:
情况如下:我正在努力避免自己和同事浪费时间对用户从未使用过的功能进行编程修复。我开发的应用程序已经存在了 10 年,并且有很多客户可能永远不会使用的功能,即使在某些时候他们曾经使用过。我发现自己在解决一些从未报告过的问题,因为 QA 和客户从未遇到过这些问题。我不想留下有重大问题的代码,但我也不能只删除它,因为该类的某些部分可能在其他地方使用。
我提出了某种日志架构,在用户使用应用程序时跟踪应用程序内的每个函数调用或对象创建。通过这种方式,我们可以向客户询问存储在我们创建的文件夹中某处的日志文件。一旦我们在一定时间(1-2 个月左右)后从所有用户那里获得所有日志,我们就可以分析日志并准确查看正在使用的特性和功能。我相信这些数据对于发现我们的客户如何使用我们的应用程序非常有用。它还可以指出我们的应用程序中从未使用过的功能以及使用最多的功能。
在现有的大型代码库中实现此日志记录功能的良好解决方案/架构和设计模式是什么?或者这只是一个坏主意?
我最初的想法是这样的,但是对于一个非常大的应用程序,这需要一段时间。另外,在每种方法中都有这样的东西看起来并不好,但也许这是唯一的方法?
private void createData()
{
write.toLog("ClassName.createData");
//the magic of the createData function
}
【问题讨论】:
-
如果函数只在闰年的闰日调用呢?删除这可能是一个“坏主意”。
-
是的,这是一种可能性......也许日志只会帮助确定功能错误的优先级? @ElliottFrisch
标签: java design-patterns architecture