阅读文本大概需要3分钟。
在单枪匹马的年代,王江民38岁自学编程,他堪称中国杀毒软件之父,一个人一台电脑就造就一个杀毒软件的辉煌时代;求伯君每天就靠那台已经老掉牙的386电脑写程序,不知世上有昼夜,不停地写啊写,饿了就吃方便面,困了倒下就睡,一个人开发出WPS击败了200人的微软团队。这种单枪匹马就能成就一个伟大的产品的时候已经一去不返,但是这种思维在现在还是无处不在,真是国民劣根性。
身边写代码厉害的人不在少数,但是能真正做到先进行基本设计,然后编写相关的
表设计文档、业务流程文档,最后进行编码的几乎没有。有时我觉得自己写得代码就是“一坨屎”,为啥这样说呢?因为代码写得再溜,没有问题的支持,根本无法维护。希望一个需求的开发都是有据可循的。我希望每一个需求的开发都是有如下步骤的。
1、需求原型
对于需求原型的编写,大团队有专门的产品使用Axure 进行编写,然后输出;小团队没有产品人员,只有开发人员,那开发人员也应了解客户的需求,然后使用Axure编写需求原型。在没有码代码之前就知道自己要做的需求的最终结果,即使使用Axure画出来的原型图有点粗糙,但是不影响最终结果的样子。
2、表设计
在完善了需求原型之后,看着需求原型就大概知道需要什么表,表中有哪些字段。我得在码代码之前进行表设计,然后输出一个表设计文档非常必要。在表设计文档中至少有如下一些标识:
- 表的主键
- 表与表之间的外键关系
- 表中每个字段的类型和长度
- 字段是否唯一、是否是枚举值,比如一个字段代表审批状态,那这个字段必然可以枚举
3、接口定义
目前多是采用前后端分离的开发、部署架构,所以接口定义在编码之前非常必要。为什么这样说呢?因为把接口的入参和出参定义好,对应前端来说,即使在没有接口的情况下,也知道该接口该传入什么,调用完了接口后也知道怎么处理返回的数据;对应后端来说如果只写都定义好了,对于一些接口类就可以直接使用工具生成,减少开发时间。
4、编码
最终才是编码,而且如果把前面三个步骤做好,码代码其实可以不需要非常厉害的人。但是在项目开发中,常常做不到这四个步骤。也许看着这个四个步骤很简单,但是能做到这四点团队真是凤毛麟角。可以说做不到这个四个步骤的大小团队不在少数。
你们公司做到了,反正小编所呆的无论是小团队,还是大团队,经常没有做到。做完需求,就直接编码了。
其实我仅仅想吐槽一下