数据库
1、语法参数化
错误:
正确:
2、IDisposable对象(DbConnection、DataReader、RedisClient等连接对象)需要使用using来正常关闭
错误:
正确:
3、自已创建的线程,一定要记得自己try ...catch输出异常log,机制不能自动捕获到辅助线程的异常
后续大家改用CommonUtils.RunTask,它会自动捕获异常记录日志:
4、返回值的话,如果值为null的字段或数组,我们为了节省传输的数据量,就不会把它序列化回去
这种情况我们的API文档可以改善一下,把响应的参数也说明一下,前端根据“是否必填”去增加为null的代码判断
5、API接口必需尽量向前兼容,以能支持迭代灰度发布,如果不能向前兼容,在迭代过程中需要主动提出,迭代发布时就会注意缩短服务端与前端发布过程中的空档期
6、业务代码中查询Redis时,不允许使用ScanAllKey的方式去遍历key,因为这样的开销是很大的
7、git操作尽量用rebase,而非merge
8、release需自己合并local
9、接口需向前兼容、数据结构向前兼容