如果某个想法是你唯一的想法,再没有什么比这更危险的事情了。在设计软件时,我们需要为可能出现的某种错误做准备,比如数据库的更换,开发平台的更换。这需要我们设计之初就考虑到构建一个相对灵活的架构。
1、在黑暗中使用机枪射击有两种方式。
方式一:你需要知道目标准确的位置,然后考虑当时的温度、湿度、气压、风力等一系列因素,计算完位置之后进行射击。
方式二:使用曳光弹,发射时,曳光弹中的磷点燃,会照亮它经过的地方和最终位置,我们用曳光弹确认位置之后,就不需要那些繁杂的计算,直接使用机枪进行射击。
2、在黑暗中发光的代码。通常一个项目的开发是非常复杂的,如果只是一个模块一个模块的开发,我们可能直到最后才能确认项目运行情况。更好的做法是,我们要让系统尽早的跑起来,然后根据需要给它完善细节。这样会有以下好处:
- 用户能够及早看到能工作的东西。
- 开发者构建了一个能在其中工作的结构。
- 你有了可用于演示的东西。
- 你能够感觉到工作进展。
1、原型是你可以在忽略细节的情况下,考虑项目走流程,主要使用场景,他们是否正确,是否可行。通常也可以用用于演示
2、原型制作是一种学习经验,其价值并不在于所产生的代码,而在于所学到的经验教训。那才是原型制作的要点所在。
3、制作原型甚至不需要编码,你可以用便笺,白板上制作原型。制作原型时你需要尝试回答以下问题:
- 主要组件的责任是否得到了良好定义?是否恰当?
- 主要组件间的协作是否得到了良好的定义?
- 耦合是否得以最小化?
- 你能否克服确认重复的潜在来源?
- 接口定义和各项约束是否可接受?