以下内容仅代表个人对开发及业务的一些理解,如有更好的建议,欢迎指点。
当我们拿到一个需求之后,对这个功能进行分析,根据效果我区分为:
类型 | 例子 | 思索点 |
---|---|---|
展示型 | 数据分页查询,搜索,大屏报表等 | 1. 数据量情况(每日新增数据量) 2. 查询效率(SQL是否需要优化,部分数据需不需要放到缓存中) 3. 查询频率(会不会对数据库造成负担) 4.展示设备(分辨率,视觉效果) 5. 使用人群(比如学生可以用先进点的布局,工人用明显标记方式) |
数据维护型 | 数据的新增,修改,删除 | 1. 事务(看实际需求) 2. 是否需要记录操作日志 3. 会不会存在误操作需要撤回 4. 删除使用物理删还是逻辑删(is_delete) 5. 新增后会不会导致其他业务查询异常(比如有个表join本表,结果返回多条数据或直接报错) 6. 修改删除后会不会影响其他业务流程 |
优化型 | 查询优化,业务流程操作优化,逻辑优化 | 1. 定位需要优化处(sql查询慢/代码逻辑有问题。。。) 2. 是否需要优化(优化很少使用的一个功能,但需要大量的时间) 3. 业务流程优化:中间的几个步骤是否必须、是否将一些操作放在一块、业务流程是否可以调整 4. 逻辑优化:有没有什么第三方方法可以引用(比如业务拆分,使用消息队列) 5. 算法优化:使用其他什么算法更合适 |
系统架构型 | 使用分布式,消息队列,多线程等 | 1. 会不会对之前的业务有影响。(比如增加分布式后对数据操作) 2. 使用的版本和当前版本是否兼容 3. 框架是否必须。是否有更好的方式(框架)使用 4.框架的配置文件,参数含义梳理 5.增加了新框架后,哪些原有的方法可以更新或弃用 |
无理取闹型 | 。。。 | 1. 给需求两巴掌,会不会手疼 |
不一定更新ing…