一些代码写法推荐
等号加空格
$a=1; // 新手用
$a = 1; // 1年+工作经验都会变成这样
挺有趣的事实, 通过看 我以前代码 & 同事以前代码 & 一些新手的代码,
都会慢慢过渡加 空格 的。
变量重复

一眼可以看出, code 变量出现两次。
let code = this.getCodeByArea(value);
if( isArea)
code = this.getAreaCode(value,check,type)
这样重写变量不香吗?
调用两次 this.getAreaCode 速度会慢些,
我只能说: 慢个 0.1ms 重要吗?
(当然最优的是: 是处理下参数 最后再调用函数)
不用else

写代码,我个人不用 else 的。
还有些人类迷惑行为:
if( $res == "hello")
return true;
else
return false;
请问 else 有啥用
见过挺多这种 迷惑行为。
拒绝使用数字做状态
// 即使数据库有注释 但是看也麻烦 (我想只有新手才会用数字)
$order->status = 3;
// 好处: 1. ide可以点击跳转过去 2. 一眼看懂
$order->status = Order::STATUS_SUCCESS;
使用本地作用域代替Where
这和 [拒绝使用数字做状态] 有类似,都是为了更直观理解代码。
Where:
Address::Where('user_id',Auth::id())->get()
使用作用域:
模型添加
public function scopeCurrUser($query)
{
return $query->where('user_id', Auth::id());
}
调用:
Address::CurrUser()->get()
本地作用域优势:
- 复用 (建议创建个
模型基类) - 直观
(作用域见: 局部作用)
模型可以考虑使用query()
直接用

query()

区别
query()有ide提示。query()更快,因为他不会经过这两个魔术方法。(这点速度可以忽略 就一点点)
用异常替代错误的返回
return

异常

异常优势
在 子方法 或者说 在 任何方法,都可以 中止 后面的代码, 然后运行异常的处理。
这是 return 无法做到的。
推荐
可以看下这个: 重构 改善既有代码的设计—笔记
(虽然我没怎么仔细看过)
本作品采用《CC 协议》,转载必须注明作者和本文链接

关于 LearnKu
推荐文章: