清理Delphi中的uses子句

6

我一直在使用cnPackPascalAnalyzer Lite来清理一些大型项目中的uses子句,而且我做得相当保守。特别是我不会删除任何具有initialization部分的内容。PascalAnayser给出了一些提示,例如

  ==> COMMAND unnecessary (used by unit with init)

我认为这句话的意思是,该单元不被当前单元使用,但被具有初始化部分的单元使用。

如果删除该单元COMMAND,是否完全安全,或者是否存在某种情况可能会导致运行时错误?


1
其实那似乎很清楚。我被分心了,因为我不明白与你相同的提示。为什么产品在报告某个单位未使用时会关心是否从其他地方使用了一个单位。无论如何,请别介意,如果你问我从那个提示中理解了什么...什么都没有。 - Sertac Akyuz
1
这个手册页面没有帮助吗? - Victoria
5
我不明白为什么这些工具不能发布更易读的消息。如果你必须去想 (或查阅) 它的含义,那么在我看来,这条消息并不是很有用。 - Rudy Velthuis
1
@Rudy 至少他们不像我使用的某个软件那样使用奇怪的8位代码,你必须去他们的网站挖掘。 - Jerry Dodge
1
@Jerry:确实听起来很糟糕。 - Rudy Velthuis
显示剩余4条评论
1个回答

4
你可以安全地移除该单元。
那个提示只是为了保持一致性,为您提供更多信息 - 尽管这些信息与决定是否可以从用途子句中删除该单元,可以将其移动到实现部分或必须保留在原处无关。
如果您试图摆脱该单元,则现在您知道必须检查具有初始化的该单元:它是否实际需要该不必要的单元,或者它本身可以安全地被移除?
正如您已经提到的:这只是一个提示 - 它并不使不必要的标记无效。

1
我仍然无法理解那个提示在说什么。可以详细说明一下吗? - David Heffernan
1
“used by unit with init” 意味着 COMMAND 单元也被一个具有初始化部分的单元使用。只要这个初始化代码必须留在程序中,COMMAND 单元也会被编译。即使在该单元中不需要进行编译,将其保留在当前 uses 子句中也不会改变任何内容,因此您可以安全地在此处删除它。这个提示对您是否有价值取决于您当前的意图。 - Uwe Raabe

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接