千万别直接敲代码!(写代码前要做的事)
很多新手拿到需求就开始写代码,这是不对的。
今天说说写代码之前应该做什么。
直接写代码的问题
1. 写到一半发现思路不对
没有提前想清楚,写着写着发现逻辑有问题,要推倒重来。
2. 边界情况没考虑
写完了发现很多特殊情况没处理,打补丁打得很痛苦。
3. 写出来的代码乱
没有设计,想到哪写到哪,代码结构很乱。
写代码前应该做什么
1. 理解需求
先搞清楚要做什么。
这个功能的目的是什么?用户怎么用?有什么限制条件?
不清楚就去问,不要自己猜。
2. 设计方案
想清楚怎么实现:
- 涉及哪些模块?
- 数据怎么流转?
- 要改哪些代码?
- 有什么技术难点?
可以简单画个图,或者写几行伪代码。
3. 考虑边界情况
- 输入为空怎么办?
- 数据不存在怎么办?
- 并发情况怎么办?
- 失败了怎么办?
提前想好,不要写完了再补。
4. 评估工作量
这个需求要多久?有没有风险?
提前评估,不要接了需求才发现做不完。
举个例子
需求:实现用户领取优惠券功能
不好的做法:直接开始写领券的接口
好的做法:
先想清楚:
- 优惠券存在哪个表?字段有哪些?
- 领取记录怎么存?
- 每人限领几张?怎么限制?
- 优惠券数量有限,怎么防止超发?
- 高并发情况下会不会有问题?
想清楚这些,再开始写代码,效率会高很多。
什么时候可以直接写
1. 非常简单的改动
比如改个文案、加个字段,不用想太多。
2. 你非常熟悉的领域
做过很多次的事情,脑子里已经有方案了。
3. 探索性的代码
只是试试某个东西行不行,写完可能会删。
我的习惯
我做一个新需求,通常会这样:
- 看需求文档,不懂的地方问产品
- 在纸上或者笔记里写写画画,理清思路
- 想一下有什么特殊情况
- 然后才开始写代码
这个过程可能花半小时到一小时,但能省后面好几个小时的返工时间。
最后
磨刀不误砍柴工。
写代码前花点时间想清楚,比写完了再改要高效得多。
这是区分新手和老手的重要标志之一。
