670 字
2 分钟

编码习惯-2019.06.03

2018-10-10
2019-08-07

本文档长期不定时更新#

  1. 在使用get()或者select() 查询列表时,要么分页,要么limit限制最大长度
  2. 在使用return 时尽量只有一个return 方便查阅;
  3. 在编写类时,注意单一职责;
  4. 变量尽量在有必要提前存在时才声明
  5. php是弱类型语言,对数据记得做类型校验
  6. 对方法参数做类型约束
  7. 数据库状态或数字代表含义的, 放在配置文件然后调取语义化配置使用,方便查阅
  8. 不使用is_系列函数,使用全等替换
  9. 减少使用= = 而去使用=== 案例
  10. 在c中i++只需要一条cpu指令, 一直以为$i++的效率很高, 但是我看到的框架(比如tp)都没用使用$i++, 而是使用$i += 1, 在php中$i++需要4条opcodes
  11. 编写或调用缓存时 注意:命中 (Hit) - 一个缓存的命中,指的是当调用类库使用「键」在请求一个缓存项的时候,在缓存池里能找到对应的缓存项,并且此缓存项还未过期,并且此数据不会因为任何原因出现错误。调用类库 应该 确保先验证下 isHit() 有命中后才调用 get() 获取数据。 参考
  12. 前后端分离返回数据的参数键命名分隔时,尽量使用下划线分隔
  13. 在laravel模型通过属性获取模型关联数据数据如果这个字段有可能不存在的 使用isset判断 或使用 ?? ‘’
  14. 编写权限或者状态时预留方法 返回可用账户的where组合
  15. 按照单一职责原则,一个类只应该关心自己的逻辑,当出现问题的时候,如果不是当前类该处理的,我们就应该抛出而不是消化。
  16. 业务异常与运行时异常要区分开
  17. 一个类只干自己相关的事情,比如通知类不要去关心 SMTP 如何构造。
  18. 一个方法只干一件事儿,如何定义呢?当你给方法起名的时候纠结了,那你的方法设计得就有问题了,getUserById,getUsers 这些肯定就是只干了一件事儿。
  19. 命名要见名知义,动名词格式命名。少用 info,data 这类无意义词,比如 getUserInfo 完全可以叫 getUser。getOrdersData,getOrdersList 也完全可以写为 getOrders。
  20. 一个方法尽量不要超过 30 行;
编码习惯-2019.06.03
https://www.motouguai.com/note/coding-habit-20190603/
作者
Murry
发布于
2018-10-10
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时