【问题标题】:Best Practices while Prototyping?原型设计时的最佳实践?
【发布时间】:2009-02-10 21:57:02
【问题描述】:

在进行原型设计时,您在多大程度上放弃了最佳实践以支持代码和修复黑客攻击?当然,代码并不打算在完整的生产环境中保留。

补充:我正在研究一个用 Python 制作的相当大的半工作原型,以找出嵌入式应用程序的 UI。我知道代码不打算在生产中使用,但代码库的质量随着更改次数的增加而稳步下降,这让我很恼火。

【问题讨论】:

    标签: prototyping


    【解决方案1】:

    不幸的是,由于时间限制,我有太多的原型变成了基准产品。因此,理想情况下,您将遵循最佳实践。实际上,您尽一切努力完成工作,以满足您所追求的任何最后期限。不要指望有机会完全重写。你想出的往往是基线,特别是如果它需要超过几天的时间来开发。最好的建议是以黑客级别的速度学习使用最佳实践。

    【讨论】:

    • 我不得不同意,很遗憾 - 我见过的几乎所有原型代码都进入了最终产品(或多或少,但通常多半...)
    【解决方案2】:

    这取决于您的原型试图证明什么。您是为可用性设计 UI 原型并向客户展示,还是为架构设计原型?

    如果我正在设计一个 UI 原型,那么一旦这个概念经过迭代和验证,我就会抛弃所有东西。

    如果我正在对架构进行原型设计,那么最终代码将符合最佳实践并且可用。

    也就是说,由于时间或预算限制,最终投入全面生产的 hack 工作原型的数量令人惊讶。如果您的目的是让代码不最终投入生产(即 UI 原型),那么模拟屏幕截图而不是对其进行编码可能会很有用。

    【讨论】:

    • “如果您的目的是让代码不最终投入生产(即 UI 原型),那么模拟屏幕截图而不是对其进行编码可能会很有用。”确切地!这也节省了大量时间。
    【解决方案3】:

    如果你愿意的话,我会丢弃“干净”的方法和注释(即“使事情发生”的实用程序类),但不会丢弃“业务对象”。

    例如,如果我可以选择定义一个“Car”类来定义“WheelCount”、“DoorCount”的字符串值属性,或者只是制作一个快速的 Hashtable,我通常会继续并花一点时间额外的时间来创建 Car 类。

    这样做的原因是因为当我稍后回去重新编码时,查看真实的类名更有意义(有时这些小类可以转移到“真实”版本)。

    一般来说,原型设计的最大危险是想“我会稍后修复它”然后不去做......所以如果在任何时候你在脑海里想“我对我需要如何做一个很好的想法做这门课”,继续在这门课上多花几分钟,把它做好,这样你就可以重复使用它。

    【讨论】:

      【解决方案4】:

      我几乎总是将原型(此处称为“尖峰”)视为一次性代码。原型的意义在于了解问题,而不是解决问题。这种理解比任何代码制品都重要得多,正确实施解决方案应该是微不足道的(如果不是,我认为尖峰的范围太大了)。

      您可以将原型重构为合适的状态,但根据我的经验,从头开始重写会更快,因为它必须与更广泛的系统集成。

      【讨论】:

        【解决方案5】:

        对于原型,只有外部才是真正重要的。如果你以后有勇气把代码扔掉,你可以使用书中任何肮脏的技巧,只要它看起来很棒。

        请记住,原型只是获得客户响应的工具。 (是的,我喜欢它,或者,你为什么把那个选项放在那里?)。

        【讨论】:

          猜你喜欢
          • 2018-03-08
          • 1970-01-01
          • 2017-04-07
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-09-12
          • 1970-01-01
          相关资源
          最近更新 更多