Go的优点和缺点是拒绝未使用的依赖项

时间:2009-12-01 11:36:38

标签: dependencies language-design go

Google的新语言Go尝试通过explicitly requiring that all dependencies listed in a module actually be used简化依赖关系管理。编译器将拒绝一个模块,该模块声明对模块的依赖,而不使用该模块中的任何内容。

  

包导入自身或导入包而不引用任何导出的标识符是非法的。

我可以想到一些明显的优点(例如更清洁的模块),但也许有一些不明显的优点。我能想到的唯一缺点就是有一个过于迂腐的编译器,在重构过程中抱怨太多,但也许还有更多呢?

您是否有使用其他语言执行此操作的经验?这种方法的优点和缺点是什么?

3 个答案:

答案 0 :(得分:5)

您不仅需要显式使用所有依赖项,还必须使用所有变量。当您有未使用的变量时,编译器会给您错误。

他们很烦人。但它会让别人高兴,因为他们得到了干净的代码。

我认为Go设计师可能希望Go成为一种主要依赖IDE的语言。

答案 1 :(得分:1)

答案 2 :(得分:0)

正如yuku所说,如果你的IDE与Netbeans和Eclipse可以为java做的一样,你就不必关心这类事情。

右键单击边距中的小灯泡,然后选择“删除所有未使用的依赖项”。

对于未使用的变量,它们通常会出现波浪状的下划线,并且很容易被发现。

这里唯一的区别是,与其他语言不同,除了IDE之外,你实际上还有编译器抱怨,但如果你使用IDE,那么这就成了一个问题。

在工作中,我们的编码政策几乎说明我们必须做同样的事情(我们自己),当然还有其他语言。所以我会说这种确实有真正的应用程序。虽然恕我直言,编译器应该让开发人员选择打开和关闭此行为。任何人都严格模式?

相关问题