【问题标题】:Visually distinguish auto-generated files? [duplicate]视觉区分自动生成的文件? [复制]
【发布时间】:2017-06-24 22:06:42
【问题描述】:

我们有一堆基于数据库模型自动生成的文件。因为我修改了一些代码,所以我有一些 facepalm 经验,只是发现我的修改被覆盖了,因为我没有注意到我的更改在那些生成的文件中。

所以,我修改了我们的生成器,在文件头中包含“请勿修改”注释。这有帮助!虽然,在跟踪方法调用时,很容易在这些文件之一的中间结束,除非您滚动到顶部以检查标题,否则您不一定知道。这很尴尬(而且容易出错)。

有什么方法可以标记这些文件,就像标记“外部库”一样,所以从样式中可以清楚地看出这些文件应该是只读的吗?

【问题讨论】:

  • 标记为重复,因为 1) 它确实是重复的 2) 此处提出的问题已得到解答

标签: php code-generation phpstorm


【解决方案1】:

命名约定是最好的——如果所有生成的文件都以“GEN”或其他东西为前缀,你会发现要快得多。

某些环境还允许您根据正则表达式为选项卡着色,因此您可以通过检测文件名中的前缀将它们全部设为黑色或粉红色。

【讨论】:

  • 我会听从 gnat 的建议,看看是否有一些特定于 IDE 的选项卡着色解决方案。但正如我所说,更改文件命名可能是一个很好的(如果有点侵入性)解决方案。
  • 用“最合理的答案”结束这个问题,尽管我们最终修改了自动生成的代码以包含标题注释而不是更改文件命名。此外,PhpStorm/IntelliJ 允许设置“范围”,例如。搜索可以忽略项目结构的某些部分。
【解决方案2】:

.NET 堆栈对 C# 文件使用命名约定 *.designer.cs,例如,除了在第一行添加注释,说明文件是使用自动化工具生成的,如果出现以下情况,任何更改都将丢失文件被重新生成。

您可以使用 *.generated.php 作为文件命名模式,并包含一个注释标题:

  • 文件由工具X生成,版本Y

  • 不要编辑这个文件的源代码

  • 下次运行该工具时,对文件所做的任何更改都将丢失

  • 将人们指向他们可以编辑的文件(如果适用)

【讨论】:

  • 我们已经拥有的标头,但同时进行文件命名并不是一个坏主意(尽管它对现有代码库的侵入性比仅仅添加注释更具侵入性)。我会建议的。
猜你喜欢
  • 2017-06-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-06
  • 2012-06-18
  • 2011-11-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多