有时候会请新来的同事在写代码之前写一些简单的设计,但是这件事情似乎很少有人能完成。他们直接就开始写代码了。
之前也有的项目,项目经理直接要求大家交各个组件的代码,连简单的接口设计都不做。
还有有两三年工作经验的同事直接拒绝做设计,而是声称自己只写代码,不做设计。
还有看到有应聘者回答笔试题的时候,把简单的编程题目空在那里,连伪代码也不写,或者不画个简图
对于这些奇怪的现象很惊讶,因为在写代码之前,做个简单的设计能有多难?
为什么要在写代码前做个简单的设计?
95%的公司都是小公司,一个人身兼多种角色,所以不会有专门的设计人员,所以需要程序员写简单的设计。
简单的设计就像一张地图,帮助我们脱离代码的泥沼,提醒我们应完成的主要工作。
造房子之前都需要一个设计图,以便造出来的房子符合需要?同样,写程序之前也需要一个设计。
简单的设计怎么做?
简单的设计不复杂,可以有多种形式,比如:
伪代码,用自然语言描述的步骤
流程图
组件图(UML)
时序图(UML)
设计的核心内容是什么?
明确组件:输入、输出、步骤、异常
明确时间顺序
主要的层次接口:
界面层、业务逻辑层、存储层
主要的设计原则:
不相关的东西不要放在一起