不要说谎 (Don't lie.)

来源:互联网 发布:漯河网络电视台 编辑:程序博客网 时间:2024/04/29 17:42

不要说谎 (Don't lie.)


原文标题:Don't lie.

原文链接:http://c0de517e.blogspot.com/

译:顾露 



代码的签入并不意味着任务的完成。

对产品而言,“完成”是指:

  • 签入
  • 稳定(通过自动化测试)
  • 符合指标(内存和性能符合要求)
  • 可用性(配套工具和参数的提供)
  • 通过验证(相关的美术,策划和程序)

如果忽略掉后面的四条,想发布产品就是痴人说梦了。必然的,你会被没完没了的加班带来的压力逼疯,最终发布一个始终没法达到质量标准的次品。
这意味着在开发产品的时候,我们总是从一个稳定的,符合性能指标的原型出发,在整个开发过程中不断地(通过测试等手段)去保证它始终不被打破。
没错,照这样来,会让你会花双倍的时间完成同一个任务。有时候,为了“真正地”完成某个任务,你甚至必须花时间去调整各个相关的子系统来把它挤进去。

当然,逃避所有这些很简单——说谎。

游戏行业是个充满创造力的行业。身处这个行业中,由于时常面对各种变化,我们很少循规蹈矩地事先做好所有的计划。
通常我们在开发一个产品时,没法制定一个确切的时间表。更常见的是,手里有个原型(demo)我们就抄起家伙兴冲冲地开始干了。

想象一个团队一同画一副画的情境。如果一个人画手指,一个画眼睛,还有个在画鼻子,你就没法期盼这些东东能正正好好拼到一起。(盲人摸象,你懂的)让他们全部在一个指定的日期前完工就更难了。要是少个耳朵怎么办?项目发布前让所有人一起加班到深夜画这只耳朵?

好吧,傻子才这么干。可事实上很多游戏公司都是这么干的。他们不明白各种因素是相互作用的。任何改动都不是局部的,静态的。整个系统是有机的,每个改动都要符合整个上下文的情境。在画布上的每一笔都要有明确的意义。

在绘画的时候,你总是从一个草图开始,慢慢加工成一件艺术品,自始至终,不管完成了多少,它都是一副(概念上)完整的画,不是堆在一起的一堆不相干的零件。在这个过程中的任何时候你停下来,它都是一幅画,也许不够精细,细节也不够多,但它是完整的一幅画。

游戏也是一样,只消看它能不能正常运行。如果它时常当机或者吃光内存(亦或性能达不到指标),就算不上是游戏,只是一堆没用的二进制文件。

项目开发中的迭代(在任何时候都)不应打破产品的质量标准。

自始至终,它都应能够顺利运行。