确定不再需要哪些源文件的最佳方法是什么?

时间:2008-12-22 00:44:57

标签: html ruby-on-rails ruby web-applications maintenance

我现在负责以非常快速和肮脏的方式构建的Rails应用程序。它有许多未使用的视图文件(html模板)。它还有许多未使用的css文件。

确定不再需要哪些文件以便删除它们的最佳方法是什么?

我正在寻找一个通用的解决方案,而不是一个特定于Rails的解决方案,但肯定会受到Ruby / Rails解决方案的欢迎。

只是为了开始,我有一个想法(我不是特别喜欢)来确定使用哪个视图如下:

  1. 编写一个脚本,将一行代码插入每个视图文件的顶部。代码行会将视图的名称附加到某种日志。
  2. 递归wget整个网站
  3. 浏览日志并删除重复项 - 然后我们有一个使用的视图列表
  4. 删除日志中未列出的视图

5 个答案:

答案 0 :(得分:4)

如果您使用的是类Unix系统:

确保安装了包含页面的分区并启用了访问时间(atime)。在linux上,使用relatime或noatime进行安装对你没有帮助。)

选择当前时间。

运行网络服务器几天。

识别atime比之前选择的时间早的文件。它们没有被使用。

答案 1 :(得分:4)

与任何重构一样,从编写测试开始,一旦有了这些重构,您可以删除一个文件,如果测试失败则撤消,或使用rcov查看正在使用的内容。

答案 2 :(得分:4)

Krusty.ar说得对,也是最好的方法。

就个人而言,我会写一些集成测试来检查高级别的所有功能。然后使用rcov,你会得到一些非常易读的输出,告诉你哪些文件有0%的使用率。

然后您可以开始删除,或开始编写单元/功能测试以提高安全性。

答案 3 :(得分:2)

您可以使用网络服务器日志枚举提供给您的脚本的所有面向客户端的资源。

根据操作系统的不同,还可以监控(使用过滤器)在执行页面时加载哪些文件。在Windows上有FileMon,对于BSD / OSX,有fs_usage,Linux有dnotify和inotify

答案 4 :(得分:0)

您最好的选择是如此精通测试,您可以100%依靠自己的测试。换句话说,如果您可以删除文件,并且测试仍在通过,那么您应该可以假设任何内容都不需要此文件,因为您应该对应用中的所有内容进行测试。

相关问题