在进行原型设计时,您在多大程度上抛出最佳实践,支持代码修复黑客攻击?假设代码不是为了保持完整生产。
添加:我正在开发一个用Python制作的相当大的半工作原型,以找出嵌入式应用程序的UI。我知道这些代码并不打算用于生产,但仍然让我感到恼火的是,代码库的质量随着更改的数量而稳步下降。
答案 0 :(得分:4)
不幸的是,由于时间限制,我有太多的原型变成了基线产品。理想情况下,您将遵循最佳实践。实际上,你做了完成工作所需的工作,以满足你拍摄的截止日期。不要指望机会完全重写。您提出的内容通常会成为基线,特别是如果开发时间超过几天。最好的建议是学会以黑客级别的速度使用最佳实践。
答案 1 :(得分:3)
这取决于你的原型试图证明什么。您是在为可用性原型设计用户界面并向客户展示,还是在为架构设计原型?
如果我正在对UI进行原型设计,那么一旦概念经过迭代并经过验证,我就会抛弃所有内容。
如果我正在构建一个架构原型,那么最终的代码将符合最佳实践并且可以使用。
也就是说,由于时间或预算限制,最终完全生产的黑客作业原型数量令人惊讶。如果您打算让代码不以生产结束(即UI原型),那么模拟屏幕截图而不是编码它们会很有用。
答案 2 :(得分:1)
我抛出“干净”的方法和评论(即“让事情发生”的实用工具类),但如果你愿意的话,我不会抛弃“业务对象”。
因此,例如,如果我可以选择定义“Car”类来定义“WheelCount”,“DoorCount”的字符串值属性,或者只是制作一个快速Hashtable,我通常会继续花一点时间额外的时间创建Car类。
之所以这样,是因为当我稍后重新编写代码时,查看真正的类名会更有意义(有时候这些小类可以转换为'真正的'版本)。
一般来说,原型制作中最大的危险就是“我会稍后修复它”,然后不再这样做......所以,如果在任何时候你在脑海中想到“我对我的需求有一个很好的想法”做这个课“,继续花几分钟上课,然后做好,这样你就可以重复使用了。
答案 3 :(得分:1)
我几乎总是将原型(在这里称为“尖峰”)视为一次性代码。原型的要点是了解问题,而不是解决问题。这种理解远比任何代码伪像更重要,正确实现解决方案应该是微不足道的(如果不是,我会认为尖峰的范围太大)。
您可以将原型重构为适合状态,但根据我的经验,从头开始重写会更快,因为它必须与更广泛的系统集成。
答案 4 :(得分:0)
对于原型,只有外部非常重要。如果你足够勇敢以后丢弃代码,你可以使用书中的任何脏技巧,只要它看起来很棒。
请记住,原型只是获取客户响应的工具。 (是的,我喜欢它,或者,为什么你把那个选项放在那里?)。