---
# System prepended metadata

title: Clean Code
tags: [JS]

---

###### tags: `JS`
# Clean Code

### 定義: 減少重複、具有高度的表達力、並及早建立簡單抽象概念，就是撰寫 Clean Code 的方法。




### 函式 (Functions):

1. 過多的參數 (Too Many Arguments)
沒有參數的情況是最好的，如果有的話至少不要超過三個
2. 輸出型參數 (Output Arguments)
參數丟進去應該是當作輸入的
3. 旗標參數 (Flag Arguments)
Boolean 參數違反了「只做一件事」原則，會造成困惑，應該移除
4. 被遺棄的函式 (Dead Function)
移除不再被呼叫的函式。你的版本控制系統會記得這些函式
5. 命名方式
函式可以使用動詞表達其行為，類別使用名詞描述其內部封裝的資料結構。

### 好的寫法

## includes 代替多重判斷條件
使用 includes 來判斷是否有包含相同的字串。
![](https://i.imgur.com/bDNQPhy.png)


## 物件存取資料
![](https://i.imgur.com/GIqrC0P.png)


## Filter and Map 代替 For 迴圈
![](https://i.imgur.com/6G1AXj4.png)


## 解構交換兩個值
![](https://i.imgur.com/BdWqSiZ.png)


---

* 始終用 True 做判斷
* 函式中不要有 Boolean 來判斷做不一樣的事
* 使用聲明式編程風格代替命令式編程風格



