2008-11-01 87 views

回答

7

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

"The Law of Leaky Abstractions"真的钉它的头部。

2

他们在那里有一个原因 - 试着让你的生活更轻松。 它们可以帮助您节省5或10分钟的打字时间。当然最好阅读并确保你明白他们为你写的东西。

如果你使用它们不理解,那么他们可以考虑在他们让你不学习,你或许应该知道的东西得到了一个事实,是有害的,但总的来说,我认为他们是一个很好的事情。

1

向导生成一个封装的实体 - 一个函数,一个类或一组类 - 你不需要修改,你通过一个定义良好的,设计良好的进行交互的“主要是无害的”接口。

在光谱的另一端是产生需要被扩展和修改骨架代码的向导。如果您稍后不能更改某些向导选项而不会丢失编辑,这尤其麻烦。

这些仍然是谁能够通过自己写同样的代码,并使用向导,以节省时间亲“OK”。然而,当他们习惯于使复杂的东西看起来容易为初学者,他们是一个生锈的汽车油漆工作:他们帮助卖东西,否则你不会买。

实际上,它们可能对缓解平台的采用仍然有用。但这是一个业务方面,而且业务方面是否可以证明代码错误是开发环境的问题。

2

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

奇才是最可怕的邪恶,如果你必须有史以来编辑他们产生的代码。如果你这样做,然后改变你在向导中做出的选择之一,那么你就不得不在两个非常糟糕的选项中进行选择。您可以重新运行向导,然后重新应用手动编辑,也可以尝试编辑向导第一次创建的样板代码的多个副本。在前一种情况下,您可能至少忘记了其中一项编辑,而在后一种情况下,您可能会错过至少一个受到向导运行时您的选择影响的代码中的某个位置。