🧑💻作者名称:DaenCode
🎤作者简介:CSDN实力新星,后端开发两年经验,曾担任甲方技术代表,业余独自创办智源恩创网络科技工作室。会点点Java相关技术栈、帆软报表、低代码平台快速开发。技术尚浅,闭关学习中······
😎人生感悟:尝尽人生百味,方知世间冷暖。
📖所属专栏:项目所感所想
文章目录
🌟绪论
记录项目、学习中的所感所想。
🌟编码规范
-
类、类属性、类方法统一采用/***/进行注释。
-
获取单个对象时,方法名采用get作为前缀。
-
获取多个对象时,方法名采用list作为前缀,并以复数结尾。
-
获取统计值时,方法名采用count作为前缀。
-
新增时,方法名采用save/insert作为前缀。
-
删除时,方法名采用remove/delete作为前缀。
-
更新时,方法名采用update作为前缀。
-
数据对象:xxxDO,xxx为数据库表名。
-
传输对象:xxxDTO,xxx为业务领域相关名称。
-
展示对象:xxxVO,xxx为展示对象名称。
-
N方库:
- 一方库:项目内部module间依赖的jar包。
- 二方库:公司内部使用的jar包。
- 三方库:外部开源的jar包。
🌟编码意识
- 敏感数据保护:有些敏感数据,比如用户密码不能返回到前端。
- 数据越权防护:编写业务代码时,注意防范水平越权、垂直越权,考虑数据的归属权。
- 系统安全保护:比如说实现注册、登录功能时,防范他人恶意注册、登录,导致网站成为肉鸡网站。
- 多线程共享资源竞争处理:考虑某一个时刻,多线程环境下同时操作对于业务数据的影响。比如说多线程下用户领券。
- 数据结果合理性:考虑业务数据的某个结果要符合生活现实。比如说用户领券后的库存量要保证其不能为负数。
- 效益亏损防范:防止业务结果不合理,对用户或者企业造成经济效益,进而带来其他方面更大的损失。比如说羊毛漏洞案例。
- 时间线暂停或者扩大思维:假设某段代码执行到某时刻或者执行的时间无限放大会有什么后果。
- 设计原则理论中实践:代码的编写对应的是设计原则中的哪个原则或者哪一种设计模式。
- 场景化分析:假设某个场景下的事件会发生什么?万一...怎么办?
🌟学习方法
- 知识成体系化,学会用思维导图记忆。
- 多练多敲代码,搞懂一段代码背后的本质逻辑。
- 学完一个东西后,要学会输出,写出来、讲出来或者是做个小东西出来。
- 有些技术实现、功能流程,用笔画出来要比电子版的图要强上百倍千倍!