当晚,太太跟我交流要设计的工具很多东西没想清楚,没法写代码,方向感不强,于是我们花了些时间,把设计要点整理到纸上(请忽略这个广告纸)

设计先行,编码在后

因为我知道,今晚不搞清楚这个事情,想看个电影都难咯,^_^

于是这篇文章,我花了些时间思考和写出来,几分钟可以读完。

设计先行

现实生活中房子,大多数开发商交楼的时候已经是带装修,业主索取设计图纸,才能得知水电布局,这个无可厚非;而对于整个小区,它是先呈现在设计规划图上,而不是建筑工人想到什么就建什么,必须按照设计图纸的要求来做,否则随意性带来的可能是灾害。

那么,软件工程里面对软件开发的要求是怎样的呢?

软件开发必须要经过初步设计、详细设计、编码、测试4个步骤。这是软件工程的智慧结晶。
不按照这些步骤进行软件开发,那就不是软件工程指导下的软件开发,只是手工作坊式“写代码”。

两种编程套路

编程开发两种常见套路:
设计先行,编码在后

十几年前刚入行的时候,我就是边开发、边设计,出来的效果自己也不满意,大概经历一年后才意识到设计先行的重要,想清楚做什么,总比不知道做什么有更强的方向感。
设计先行,对于总体框架有把握,即便方向改变,也有信心去拥抱变化,做一些微调,甚至可以避免引入设计复杂度,可以发散思考许多点,但是最终要收回来,要考虑资源因素(时间、人力成本等等),先实现的简单、清晰,可衡量的框架是怎样的,清晰描绘出来就好了,哪怕先用TDD模式去验证对或者错。

当然,一个负责任的攻城狮相当靠谱和重要,比我清楚怎么做得更好

by 随笔,未经整理