- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
有没有什么工具可以分辨出代码库中的无用文件?
我们有一个很大的代码库(PHP、HTML、CSS、JS 文件),我希望能够删除不需要的文件。任何帮助将不胜感激。
最佳答案
我猜想删除文件并运行 phpunit 测试是不可能的。
如果您的文件还没有在版本控制系统中 - 添加它们。将文件保存在版本控制系统(例如 svn 或 git)中对于让您从删除任何您认为未被使用但后来发现被使用的文件中恢复过来至关重要。
然后,您可以删除任何您认为可能未被使用的内容,如果它不影响您的应用程序的运行,您可以断定这些文件未被使用。如果出现不利影响 - 您可以轻松地从存储库中恢复它们。
以上内容最适合(可能)用于前端文件(css、js、图像)。您删除的任何请求的文件都将显示在您的网络服务器错误日志中,为您提供对不再存在但需要恢复的文件的快速引用。
对于您的 php 文件,这有点棘手,您是如何到达您拥有未使用的 php 文件的位置的?无论如何你可以,例如:
然后您将拥有一个包含您加载的所有文件的配置文件。扫描为代码库中的每个 php 文件生成的配置文件将为您提供一些未使用的文件的指示。
如果您只是寻找未使用的文件,请不要试图使用代码覆盖率分析 - 它非常密集,而不是您要求的详细程度。
一种风险较小的方法是在加载文件时进行记录。例如把它放在每个文件的第一行:
<?php file_put_contents('/some/location/fileaccess.log', __FILE__, FILE_APPEND); ?>
并且只需让您的应用程序使用一段时间(数天、数周)。此后只需扫描该日志,查找任何已命名的文件 - 删除上面的代码行。对于任何不是的 - 删除(最好在整个源代码中查找文件名并确认它不存在之后)。
或者:您可以使用关闭函数,将 get_included_files()
的响应转储到日志文件中。这将允许您在不编辑源代码树中的所有 php 文件的情况下实现相同的目标。
警告:小心删除您的 php 文件。虽然缺少 css/js/image 可能意味着您的应用程序仍然有效,但缺少 php 文件当然会产生更大的影响:)。
关于php - 从代码库中删除无用文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9061399/
哇,我一直在尝试让一个简单的 Android Twitter 应用程序运行,但这是不可能的。我来自 iOS 背景。我目前正在努力使这些工作: 来自 Marakana 的 MyTwitter 应用程序。
我只花了几个小时调试一个编译器错误,如果编译器的错误消息更有用,我可以立即修复这个错误。 我把它简化为一个简单的例子: template int f(int); template auto g(U
我想调整我的线条(两条)的大小,因为我觉得它们太瘦了。 下面的代码这样做了,但是为 size 创建了一个图例,这是无用的,因为 size 没有可以映射到它的变量。 qplot(date,value,d
如果我这样做 xset dpms 600 3600 7200 ,它在 10 点后使我的屏幕空白 几分钟的不事件。 问题 X11 怎么知道我闲了多久,我怎么才能访问这个 以编程方式空闲时间? 我无法获得
在调查 ConflictError ( see this previous question ) 时,我看到了很多 persistent.mapping.PersistentMapping 冲突。 具
我正在使用 PHP 和 jQuery 创建交互式白板应用程序。创建一个卡片组不是问题,也不是在页面上应用 Canvas 覆盖以便我可以在上面写字。我是一名业余编码员,完全是自学成才。这部分是学习更多的
我是网页设计的自学者,所以我可能会错过一些基础编码。 所以问题是 内容在一行中从右边溢出了 div。 代码如下 HTML
我在将 DRF SessionAuthentication 与定义为 ModelViewSets 的 View 一起使用时遇到问题。 “LoginRequiredMixin”在泛型 View 中工作正
这是我的一段代码:输出看起来像:12、44、55,我需要删除最后一个“,”,我尝试了所有方法。 while ((r = scanf("%d", &v)) > 0){ printf("%
我正在做这样的事情 http://jsfiddle.net/8ErSL/2/ 当您将鼠标悬停在任何文本框 (div) 上时,其中会出现一个小图标。 我想阻止图标的淡入淡出效果在我不小心将鼠标悬停在 d
我使用“wget --mirror [sitename]”启动了一个 wget 镜像,它是工作正常,但意外中断了该过程。 我现在想恢复镜像,但有以下警告: 如果 wget 已经下载了一个文件,我不想下
我有一个包含多个子项的 DOM 元素 (#installations),其中只有一个具有类 .selected。我需要选择此类和其余的前 3 个 (:not(.selected)) 并显示它们 - 目
我是一名优秀的程序员,十分优秀!