🧑💻作者名称:DaenCode
🎤作者简介:CSDN实力新星,后端开发两年经验,曾担任甲方技术代表,技术尚浅,闭关学习中······
😎人生感悟:尝尽人生百味,方知世间冷暖。
📖所属专栏:程序与生活

🌟绪论
记录项目、学习中的所感所想。
🌟编码规范
-
类、类属性、类方法统一采用/***/进行注释。
-
获取单个对象时,方法名采用get作为前缀。
-
获取多个对象时,方法名采用list作为前缀,并以复数结尾。
-
获取统计值时,方法名采用count作为前缀。
-
新增时,方法名采用save/insert作为前缀。
-
删除时,方法名采用remove/delete作为前缀。
-
更新时,方法名采用update作为前缀。
-
数据对象:xxxDO,xxx为数据库表名。
-
传输对象:xxxDTO,xxx为业务领域相关名称。介于前后端传递参数与返回参数之间存在的对象,传输对象最好以inputDTO或者outputDTO表明传入或者传出。
-
展示对象:xxxVO,xxx为展示对象名称。
-
构建参数/对象方法:buildXXX,xxx为参数名或者对象名。
-
N方库:
- 一方库:项目内部module间依赖的jar包。
- 二方库:公司内部使用的jar包。
- 三方库:外部开源的jar包。
🌟编码意识
- 敏感数据保护:有些敏感数据,比如用户密码不能返回到前端。
- 数据越权防护:编写业务代码时,注意防范水平越权、垂直越权,考虑数据的归属权。
- 系统安全保护:比如说实现注册、登录功能时,防范他人恶意注册、登录,导致网站成为肉鸡网站。
- 多线程共享资源竞争处理:考虑某一个时刻,多线程环境下同时操作对于业务数据的影响。比如说多线程下用户领券。
- 数据结果合理性:考虑业务数据的某个结果要符合生活现实。比如说用户领券后的库存量要保证其不能为负数。
- 效益亏损防范:防止业务结果不合理,对用户或者企业造成经济效益,进而带来其他方面更大的损失。比如说羊毛漏洞案例。
- 时间线暂停或者扩大思维:假设某段代码执行到某时刻或者执行的时间无限放大会有什么后果。
- 设计原则理论中实践:代码的编写对应的是设计原则中的哪个原则或者哪一种设计模式。
- 场景化分析:假设某个场景下的事件会发生什么?万一…怎么办?
- 设计思想借鉴 :学会借鉴业内框架、中间件的设计思想,应用到解决方案中,比如使用nginx负载均衡解决数据不均匀问题、采用redis惰性删除策略思想进行海量数据下某个值的更新。
- 中间件抗伤害:为了防止DB访问压力过大,受伤害过高,影响用户体验。应学会采用Redis抗伤害,加护甲,提升用户体验;同时学会采用MQ进行延迟处理,完成后续处理;最后将DB与Redis保持最终一致性。
- 系统代码及时重构:避免随着功能迭代,代码越来越复杂,应及时review代码并进行重构。重构时间间隔过高或者从不重构,系统可能稳定,但是一旦重构会影响系统稳定性。
- 全局思维:在接口开发时,要站在系统外思考此接口的设计方案是否合理。
- 循环体代码编写:恒量值放到循环体外。
- 日志埋点数据大小检查:打印日志时,若打印数据过大可以采用替换符号代替。
🌟学习方法
- 知识成体系化,学会用思维导图记忆。
- 多练多敲代码,搞懂一段代码背后的本质逻辑。
- 学完一个东西后,要学会输出,写出来、讲出来或者是做个小东西出来。
- 有些技术实现、功能流程,用笔画出来要比电子版的图要强上百倍千倍!
🌟工作方法、习惯
三硬盘工作法
一号硬盘:备份数据使用,应对电脑故障数据丢失。
二号硬盘:存放在公司,用于工作内部人员共享资料使用,应对网络突发情况或者敏感数据保护规定。
三号硬盘:存放在家,用于拷贝每日工作所需内容、所需环境。
文件管理法
- 文件命名:采用年月日-文件名-具体时间-版本号命名,便于文件回滚。
- 文件保留:模板文件都要保留一份最初文件。
- 文件分类归纳:所有文件统一分类归纳、不同磁盘存放不同大类内容。
- 文件检索:采用Listary、Everything进行检索管理。
定期整理
- 定期整理已完成、未开始、进行中的工作内容进行标注、整理。
- 已完成历史工作进行归档,便于及时回溯。
沟通法则
- 彼此交换意见,集思广益。
- 领取工作时,将自己理解的与领导陈述,是否是这个样子?有什么困难。。。,告诉领导如何协调。
- 汇报工作时,分清要点,当前工作进度、遇到的问题,需要领导如何协调。
- 下派工作时,交代工作重要内容,询问有何难度?及时把控整体进度。