系统删除代码

2020-11-11 22:42:23

删除代码时很容易遗漏一些东西,留下未使用的方法、模板、CSS类或翻译键。(尤其是在Ruby这样的动态语言中,没有编译器帮助您识别死代码。)。

这是当你做这件事时似乎很明显的事情之一,但根据我的经验,很多人做这件事都很随意。

首先,我们搜索项目以检查_Item_box.html.erb是否在其他地方使用,或者是否在需要更新的文档中引用。它不是,所以我们可以删除它-但在此之前,我们必须逐行检查它。

第一行是<;div class=";box--花哨&34;>;。因此,我们在项目中搜索这两个CSS类,检查它们是否在其他地方使用。如果不是,我们将它们从CSS文件中删除。

如果需要,我们会更深入一些--也许是.box的CSS--奇特地使用了一个CSS变量。然后我们检查该变量是否在其他地方使用。Vim中的堆叠搜索在这里很有帮助。

一旦我们检查了文件中的一行,我们就删除该行。这有助于我们跟踪我们已经检查过的内容。

我们继续这样,一行一行地。Item.Title(项目名称)是否在其他地方使用?如果不是,我们可能也应该把它移除。那么Format_Description、item.Description、my.Translation.key转换键呢?

同样,如果需要,我们会更深入一些,直到我们逐行检查了Format_Description方法,才会删除它。

当我们查看_itembox.html.erb中的每一行并删除它们时,文件将为空,我们可以开始弹出堆栈。

我们最终可以删除<;%=Render(";ITEM_BOX";,ITEM:ITEM)%>;行,非常确信我们没有留下死代码。

这听起来可能比实际情况更乏味。这往往是一项快速的工作,而且您可以走捷径-删除一些不引用任何其他内容的代码行,或者只调用您知道在其他地方使用的方法的代码行。