项目开发经验总结
一、项目开发经验总结
1、数据库表的创建
1.1、数据库的表名字,统一开头使用t_tablename
1.2、注意使用unique唯一约束,以及适当使用索引,提高质量
2、数据字典
每个人共用一套数据字典,不要产生分歧
3、代码结构
代码的service结构按照功能模块进行划分。不要按照实体类进行划分
4、常用的快捷键非常重要
5、功能部分
组织全员统一规范,不可以自己随意创建名字和返回内容
6、设计脑图,防止后期再修改功能的时候,忘记之前的逻辑
7、提前预知使用的技术,进行深入学习。
二、开发过程
1、方法名字:
2.1、因为我们要使用事物进行控制,所以我们应该在使用名字的时候有严格的规范,否则有可能会让我们查询的也是用事物进行控制。
比如,查询单个数据,用find,查询整个数据用query,data开头。
2、操作日志:
2.1、操作日志尽可能使用切面编程,这样使我们原理纵向的结构能够被横切。
如果一些必要的试客,那么我们也一定要手动添加工作日志,这对于错误的排查非常重要
3、注释
每个方法或者接口上面都要写有注释,代码先给人看,再给机器看,人都看不懂,机器懂了有什么用,如果员工离职了,代码交给机器修改吗?
4、if else的使用。
不要写一堆的else和if,这样对于昂长的代码不好看,多使用swatch 以及,如果不得不使用if else,那么在使用的过程中,对于一些重复的代码,要摘出来
5、异常问题
1、catch中尽量不要使用e.printStank(),而是采用log将日志打出来
2、针对大量数据的处理
大量数据中如果包含个别不是正常数据,或者有某一特定类型的数据存在错误,要使用独立事物,防止一块臭肉坏了一锅新汤
5、分布式中覆盖的处理
5.1、定时器
首先我想到的就是定时器,这个万恶之源,如果当我们再定时器执行的时候,如果查出来大量的数据,而且由于事物的隔离性的存在,以及针对整个数据采用了事物,只有全部提交之后才会进行整体修改以及覆盖数据,这样就会造成我们人工修改过的数据会因为定时器的执行而发生没有修改的情况
处理:
1、针对单个数据修改的情况,使用redis(不要使用static变量,因为代码有可能会被弄到多个服务器上进行分布式的访问),将单个数据进行存储,在定时器执行单个数据的时候,今天修改跳过。
2、针对多个服务器,定时器我们最好设置一个统一管理,让时刻执行的定时器,可以停止,以及可以启动。设置一个redis全局变量,针对不同的定时器进行管理。
2、针对多个服务器,使用redis对多个定时器进行管理,不要让每个定时器都执行数据,一个跑就得了,多线程那么多,何必要占用多个服务器呢。
感兴趣的,欢迎添加博主微信,
哈,博主很乐意和各路好友交流,如果满意,请打赏博主任意金额,感兴趣的在微信转账的时候,备注您的微信或者其他联系方式。添加博主微信哦。
请下方留言吧。可与博主自由讨论哦
支付包 | 微信 | 微信公众号 |
---|---|---|