个人所思所想录-LMLPHP


🌟绪论

记录项目、学习中的所感所想。

🌟编码规范

  1. 类、类属性、类方法统一采用/***/进行注释。
  2. 获取单个对象时,方法名采用get作为前缀。
  3. 获取多个对象时,方法名采用list作为前缀,并以复数结尾。
  4. 获取统计值时,方法名采用count作为前缀。
  5. 新增时,方法名采用save/insert作为前缀。
  6. 删除时,方法名采用remove/delete作为前缀。
  7. 更新时,方法名采用update作为前缀。
  8. 数据对象:xxxDO,xxx为数据库表名。
  9. 传输对象:xxxDTO,xxx为业务领域相关名称。
  10. 展示对象:xxxVO,xxx为展示对象名称。

🌟编码意识

  1. 敏感数据保护:有些敏感数据,比如用户密码不能返回到前端。
  2. 数据越权防护:编写业务代码时,注意防范水平越权、垂直越权,考虑数据的归属权。
  3. 系统安全保护:比如说实现注册、登录功能时,防范他人恶意注册、登录,导致网站成为肉鸡网站。
  4. 多线程共享资源竞争处理:考虑某一个时刻,多线程环境下同时操作对于业务数据的影响。比如说多线程下用户领券。
  5. 数据结果合理性:考虑业务数据的某个结果要符合生活现实。比如说用户领券后的库存量要保证其不能为负数。
  6. 效益亏损防范:防止业务结果不合理,对用户或者企业造成经济效益,进而带来其他方面更大的损失。比如说羊毛漏洞案例。
  7. 时间线暂停或者扩大思维:假设某段代码执行到某时刻或者执行的时间无限放大会有什么后果。
  8. 设计原则理论中实践:代码的编写对应的是设计原则中的哪个原则或者哪一种设计模式。
  9. 场景化分析:假设某个场景下的事件会发生什么?万一…怎么办?

🌟学习方法

  1. 知识成体系化,学会用思维导图记忆。
  2. 多练多敲代码,搞懂一段代码背后的本质逻辑。
  3. 学完一个东西后,要学会输出,写出来、讲出来或者是做个小东西出来。
09-21 11:46