1. 程式人生 > 其它 >從6個方面淨化你的Js程式碼

從6個方面淨化你的Js程式碼

記錄一下怎樣寫出整潔規範的程式碼,用於共勉進步。對於什麼是整潔的程式碼,書中給出了大師們的總結:

Bjarne Stroustrup:優雅且高效;直截了當;減少依賴;只做好一件事
Grady booch:簡單直接
Dave thomas:可讀,可維護,單元測試
Ron Jeffries:不要重複、單一職責,表達力(Expressiveness)

其中,我最喜歡的是表達力(Expressiveness)這個描述,這個詞似乎道出了好程式碼的真諦:用簡單直接的方式描繪出程式碼的功能,不多也不少。

可讀性程式碼就是可維護性程式碼!

1、注重命名

為一個事件命名是很困難的。雖然困難但是非常有必要。

想象以下,將兩個數組合併成一個數組,並生成一個唯一值的陣列。那麼你會怎麼命名它呢?我們也許會這樣命名?

function mergeNumberListIntoUniqueList(listOne, listTwo) {
  return [...new Set([...listOne, ...listTwo])]
}

上面的命名並不糟糕,但是還不是很友好。你可以將一個功能函式拆分為兩個功能函式,這樣命名更友好和函式複用性更好。

function mergeLists(listOne, listTwo) {
  return [...listOne, ...listTwo]
}

function createUniqueList(list) {
  return [...new Set(list)]
}

2、IF語句簡化

假設我們有下面的程式碼:

if(value === 'duck' || value === 'dog' || value === 'cat') {
  // ...
}

我們可以這樣解決:

const options = ['duck', 'dog', 'cat'];
if (options.includes(value)) {
  // ...
}

將亂七八糟的條件判斷放到一個變數中儲存,比看臃腫的表示式要好很多。

https://www.houdianzi.com/ logo設計公司

3、及早返回

有下面的程式碼:

function handleEvent(event) {
  if (event) {
    const
target = event.target; if (target) { // Your awesome piece of code that uses target } } }

及早返回使得我們的程式碼更加易讀:

function handleEvent(event) {
  if (!event || !event.target) {
    return;
  }
  // Your awesome piece of code that uses target
}

4、解構賦值

在JavaScript中,我們可以對objects和arrays進行解構賦值。

例如:

// object 解構賦值
const numbers = {one: 1, two: 2};
const {one, two} = numbers;
console.log(one); // 1
console.log(two); // 2

// array 解構賦值
const numbers = [1, 2, 3, 4, 5];
const [one, two] = numbers;
console.log(one); // 1
console.log(two); // 2

5、童子軍規則

童子軍有一條規則:永遠保持離開時的露營比你發現它時更整潔。如果你在地面上發現了髒東西,那麼無論是否是你留下的,你都要將它清理乾淨。你要有意地為下一組露營者改善環境。

我們編寫程式碼也是這樣子,如果你在程式碼中發現了髒程式碼,那麼你可以嘗試去修改它,即使是一個沒有被引用到的變數名。

6、程式碼風格

在你的團隊中使用一種程式碼風格,比如限定程式碼縮排的規範是兩空格呢還是四空格;使用單引號呢還是雙引號呢;使用同類的一種框架呢,還是流行兩種解決方案的框架呢...這樣團隊中人員接手專案的成本就會降低,開發人員的心裡減少排斥感~

所以,在開發的工作中為了不給別人造成排斥感,儘量去寫出整潔的程式碼,既方便自己也方便別人!!!