提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
持续更新开发经验,好的设计
一、程序设计
- 批量功能。功能设计的时候考虑提个批量功能,很受欢迎。
- 清理垃圾任务:定时(比如3个月)提醒确认,两周内不确认就清除任务,及时梳理任务,有些任务其实可有可无,避免大量任务堆积
- 查询数据库方面
(1) 查询数据库次数尽可能少( 查询耗时,网络耗时),可以多查询一些数据,放在内存中进行处理。如使用in而非循环查询,一次查询所有字段而非分次查询,使用union查询而非分次查询。
(2) 不过也要考虑机器性能,如果数据库服务器性能差,就把数据处理放到系统服务器上。
(3) 使用什么查询方式要结合数据量考虑 - 原始信息的统计上再增加维度统计,最好在原始信息的数据上增加维度进行统计,扩展性更好。数仓思维。
- 接口设计应该考虑到返回的数据量大小,前端能不能接住
二、mysql设计
- 无特殊情况不要使用字符串作为主键
- 禁止使用外键
- 状态等枚举使用tinyint
三、代码编写
1.同一个函数所有分支的返回值类型和个数保持一致
所有if分支,假设所有if都不成立,分析返回值
2.嵌套循环不要超过3层
3.分页和排序的关系,分页基本上都要先排序
4.同步数据要多考虑会不会少数据或多数据,源数据增、删、改会不会造成影响,很容易踩坑
5.查询数据库的最大值,要考虑并发,并行,多人操作时会不会有线程不安全问题
6.前端输入可能超过数据库字段大小,需判断限制;非必传字段,前端到后端未传时没有值,可能出错,需要判断
四、测试
- 测试要尽量模拟真实环境的调用方式,要检测测试环境的数据表定义和现网是否一致,容易忽略
总结
希望大家多多分享。