首页 > 代码库 > 简要总结最近遇到的5个问题
简要总结最近遇到的5个问题
1.数据库字段命名的3种方式。
uid、user_id、userId。
从数据库角度来说,最好的是user_id。
从Java程序来说,最好的userId,查询的时候,不用再做字段映射。
从简洁的角度来说,uid最好,看了简单,而且也不用做字段映射。
目前主要使用的是user_id这种风格,再考虑是否使用uid和userId这种。按照数据库的标准来定义字段,感觉也没啥实际好处样的。
强迫症扔扔纠结啊。
类似的,还有3个时间字段create_time用ctime,update_time用uptime,delete_time用deltime。
2.冻结资金也是有类型的。
投标、提现、转账等场景可能都有冻结需要。
项目中,用的少,简化了,没有要这个冻结类型字段。
3.收费接口。
收费,不一定要实时去扣费。
插入收费log后,维护一个待处理的数组,待处理的收费id。定时,去处理。而不是定时去数据库查询,耗费性能。
启动服务器时,需要新建一个线程,加载数据库中待处理的收费id到数组。
因为,服务器异常关闭时,上次没有处理完的数组,需要再次加载才行。
4.收费统计等统计功能的表结构。
2种不同形式的表结构
第1种:我以前主要用这种。
id、user_id、interest_management_fee、service_fee
好处是,可读性很好,更新也方便。
不好的地方是,如果需要新增收费类型,升级的时候,需要修改数据库,升级比较麻烦,而且存在风险。
另外,根据Boss的经验,一套系统卖给不同客户时,每家支持的收费类型可能还不一样。
因此,有了第2种,Boss比较推荐这种:
id、user_id、type
用type来标记收费类型,新增收费类型,升级,应对不同客户需求时,都很好扩展。
缺点嘛,自然是有的。
5. 现在的产品,越来越拼体验了,而不是以前那样堆功能。
worktile和淘宝钉钉的默认头像是,首字母或者姓名的第一个字母,比如“雷文”的“雷”。这个时候,不同用户的默认头像是不一样的,感觉非常友好。
产品体验方面,支付宝、worktile等越来越好了,功能感觉倒是不太多。
以前感觉很多产品,都是拼功能,现在拼体验。
我觉得,应该是现在的产品太多了,用户的选择多了,光拼功能是不能应对市场竞争的。
这一点,正需要注意。
简要总结最近遇到的5个问题