2

奇才可以启动功能。它们还可以混淆你的代码,并且是反 YAGNI 的。

总的来说,你认为巫师更有用还是更有害?

4

4 回答 4

7

且仅当您了解它们生成的代码时,它们才比有害更有用。只有在您掌握了向导试图解决的问题之后,它们才真正有用。否则你会在项目后期碰壁,因为生成的代码在某些时候需要修改

“泄漏抽象定律”真的把它钉在了头上。

于 2008-11-01T21:51:40.077 回答
2

他们在那里是有原因的——尝试让你的生活更轻松。它们很有用,可以为您节省 5 或 10 分钟的打字时间。当然,最好阅读并确保您了解他们为您写的内容。

如果您在不了解的情况下使用它们,那么它们可能会被认为是有害的,因为它们会让您逃脱不学习您可能应该知道的东西,但总的来说,我认为它们是一件好事。

于 2008-11-01T21:47:49.587 回答
2

当且仅当您可以摆脱从不编辑它们生成的代码的情况下,向导才是好的。在这种情况下,它们本质上是一种非常高级的编程语言。当您对向导生成的某些内容改变主意时,可以再次运行该向导。

如果您必须编辑他们生成的代码,那么巫师是最可怕的邪恶。如果您这样做了,后来又改变了您在向导中做出的选择之一的想法,那么您将被迫在两个非常糟糕的选项之间做出选择。您可以重新运行向导,然后重新应用手动编辑,或者您可以尝试编辑向导第一次创建的样板代码的多个副本。在前一种情况下,您可能会忘记至少一个编辑,而在后一种情况下,您可能会错过代码中在向导运行时受您的选择影响的至少一个位置。

于 2008-11-01T22:26:14.797 回答
1

当向导生成一个封装实体(一个函数、一个类或一组类)时,它们“基本上是无害的”,您不需要对其进行修改,并且可以通过定义良好、设计良好的界面与之交互。

另一方面是一个向导,它生成需要扩展和修改的骨架代码。如果您以后无法更改某些向导选项而不会丢失您的编辑,这将特别麻烦。

对于可以自己编写相同代码并使用向导节省时间的专业人士来说,这些仍然是“可以的”。然而,当他们习惯于让复杂的东西看起来对初学者来说很容易时,他们就是对一辆生锈的汽车的油漆工作:他们帮助销售一些你本来不会买的东西。

在实践中,它们可能仍然有助于简化平台的采用。但这是一个业务方面,业务方面是否可以证明代码错误是开发环境的问题。

于 2008-11-01T22:17:01.430 回答