程序员和道路

路

程序员需要静静的敲代码。

自从 App 开发以来,产品经理和开发同学之间似乎就有着不可调和的矛盾。

站在开发的角度来说,需求和实现之间其实是承接的关系,本来是很顺畅的瀑布,非要把流完的水往上提,势必需要消耗更多的能量。

开发过程中我们希望走的是高速公路,但是实际过程中我们走的往往是普通道路。

很多程序员在开发过程中,突然被产品经理新的需求打断,这就好比一辆行进中的汽车前方由绿灯变成了红灯。

我们都知道司机是很讨厌红灯的,一方面是浪费了时间在那里等待,还有一方面是由于红灯的存在,需要消耗额外的燃料。一脚刹车,一脚油门是浪费燃料的最佳方式。

还有一方面,普通道路的岔路多,对于第一次走的师傅来说,总是需要话费额外的时间去熟悉道路。

所以司机都喜欢走高速公路,一来没有红灯,二来不会走错,岔路少。

开发的同学也是这样,最佳的方式就是高速公路的方式,虽然前期铺设高速公路的成本会比较高,但是一旦建成后,司机只要上路开就行了。

如果像普通道路一样,时不时的来几个红绿灯,想快也快不起来。
上面就是一个形象的比喻,道路好比是程序员开发的过程,需求就是目的地,交互上的不明确就好比是道路上的红灯。

首先需求要明确,也就是目的地要明确,如果连目的地都不明确的话,那么都得路都可能是冤枉路。需求定了之后就不要改动,谁都不想明明是往东走的,突然变卦往东南走,更有甚者直接调转往西走。

其次,交互上要明确。

交互上不明确就好比是道路上得红路灯,随让方向是对的,但是时不时的出来几个红灯,你想快速的到达都美办法。还有也影响到了司机的心情,浪费了燃料,启动和刹车的过程就是活生生的对燃料的浪费。

再讲到资源和标注的问题。理想的情况下,司机一旦上路,所有的补给应该是准备好了,不能开到一半的路上才发现干粮没带,需要停下来去找路边的饭店。所以开发这边也是,一旦开发工作启动了,应该是所有的资源已经是ready了。这个事情没办法将就,总不能饿着肚子上路,否则就只能停下来等干粮补给了再上路。

有点乱,临时的一些感悟。