一些程式碼寫法推薦

lyxxxh發表於2020-11-28

等號加空格

$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 有啥用:joy:
見過挺多這種 迷惑行為

拒絕使用數字做狀態

// 即使資料庫有註釋 但是看也麻煩 (我想只有新手才會用數字)
$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()

本地作用域優勢:

  1. 複用 (建議建立個 模型基類)
  2. 直觀

(作用域見: 區域性作用)

模型可以考慮使用query()

直接用

一些程式碼寫法推薦

query()

個人感覺一部分的程式碼的優化

區別

  1. query()ide 提示。
  2. query() 更快,因為他不會經過這兩個魔術方法。(這點速度可以忽略 就一點點)
    個人感覺一部分的程式碼的優化

用異常替代錯誤的返回

return

一些程式碼寫法推薦

異常

個人感覺一部分的程式碼的優化

異常優勢

子方法 或者說 在 任何方法,都可以 中止 後面的程式碼, 然後執行異常的處理。

這是 return 無法做到的。

推薦

可以看下這個: 重構 改善既有程式碼的設計—筆記
(雖然我沒怎麼仔細看過)

本作品採用《CC 協議》,轉載必須註明作者和本文連結
專心學習不瞎搞

相關文章