Avoid Deep Nesting & Return Early
Avoid deep nesting as much as possible and use early returns.
尽量避免多层嵌套和返回语句。
Early False/Negation Returns
Try checking for false conditions or negation conditions first so that the valid code remains at the bottom of the functions, this will help in readability and maintainability of the code。
逻辑判断为 falsy
值或业务条件不满足时,就不再需要继续往下处理,尽早使用返回语句结束函数,这样后面的代码都是有效的逻辑,使得代码更加清晰、可读、易维护。
Avoid Useless Variables As Much As Possible
Basically if you use the variable more than 2 times in a code then keep that variable else directly use it inside the code. This improves the readability and makes your code very cleaner.
避免引入无用变量,特别是使用不超过两次的变量。
Use Type Hinting For Method Parameters
Use Default Arguments Instead Of Short-Circuiting Or Conditionals
给方法参数加上类型提示/限定,和默认值。
Use Ternary Operator ( ?:
)
Null Coalescing Operator ( ??
)
Encapsulate Conditionals
Writing conditions is not bad but if you encapsulate into methods/functions then it will help better readability and maintain code in future.
把条件判断封装成函数或方法,增强可读性和可维护性。
PDO Over mysqli or mysql functions
使用 PDO 好处:
- 防 SQL 注入。
- PDO 相当于数据库抽象层或对象关系映射层,如果将来更换了数据库驱动,不需要更改代码实现。
Use Composer For Dependency Management
Template Engines Over HTML & PHP Scrambled View Pages
Start using templating engines like smarty, twig, mustache, dwoo.
使用模版引擎的优点:
- 语法简介。
- 内置 HTML/PHP 输出自动转义。
- 便于分离逻辑和视图层。
- Session 管理简单。
- 视图页面模板具有便于继承复用等功能。
- 有些模板引擎可以缓存页面,加速页面渲染。
- 内置表单数据验证。
Run The Scripts With Time Limit
在代码中给脚本设置运行时间限制,防止超时。
Cache Database Queries
- 限制一次获取的记录条数。
- 将常用查询结果缓存起来。