自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

15個簡單的JS編碼標(biāo)準(zhǔn)讓你的代碼更整潔

開發(fā) 前端
編碼標(biāo)準(zhǔn)可以幫助以下方面:保持代碼一致;易于閱讀和理解;易于維護。下面的編碼標(biāo)準(zhǔn)是我對上述幾點有幫助的看法。

[[333768]]

 編碼標(biāo)準(zhǔn)可以幫助以下方面:

  • 保持代碼一致
  • 易于閱讀和理解
  • 易于維護

下面的編碼標(biāo)準(zhǔn)是我對上述幾點有幫助的看法。

1. 比較時使用 === 代替 ==

這很重要,因為JavaScript是一種動態(tài)語言,因此使用==可能會給您帶來意想不到的結(jié)果,因為它允許類型不同。

Fail:

 

  1. if (val == 2) 

Pass:

 

  1. if (val === 2) 

2. 永遠(yuǎn)不要使用 var,使用 let 來代替

使用 let 將有助于避免 JavaScript 中各種 var 引起的作用域問題。

Fail:

 

  1. var myVar = 10; 

Pass:

 

  1. let myVar = 10; 

3. 使用 const 代替 let

這阻止了開發(fā)人員嘗試更改不應(yīng)該做的事情,并且確實有助于提高可讀性。

Fail:

 

  1. let VAT_PERCENT = 20; 

Pass:

 

  1. const VAT_PERCENT = 20; 

4. 始終使用分號(;)

盡管這在 JavaScript 中是可選的,并不像其它語言一樣需要分號作為語句終止符。但是使用 ; 有助于使代碼保持一致。

Fail:

 

  1. const VAT_PERCENT = 20; 
  2. let amount = 10 
  3. return addVat(amount, vatPercent) 

Pass:

 

  1. const vatPercent = 20; 
  2. let amount = 10; 
  3. return addVat(amount, vatPercent); 

5. JavaScript中的命名約定

  • let 應(yīng)該使用駝峰命名。
  • const 如果在文件的頂部使用大寫的蛇形命名法。如果不在文件頂部,請使用駝峰命名。
  • class 應(yīng)該是帕斯卡命名法:MyClass
  • functions 函數(shù)應(yīng)該是駝峰命名法:myFunction

6. 拼接字符串時使用模板字符串

模板字符串中允許嵌入表達(dá)式。

Fail:

 

  1. let fullName = firstName + " " + lastName; 

Pass:

 

  1. let fullName = `${firstName} ${lastName}`; 

7. 盡可能使用ES6箭頭函數(shù)

箭頭函數(shù)是編寫函數(shù)表達(dá)式的更簡潔的語法。

Fail:

 

  1. var multiply = function(a, b) { 
  2.   return a* b; 
  3. }; 

Pass:

 

  1. const multiply = (a, b) => { return a * b}; 

8. 始終在控制結(jié)構(gòu)周圍使用大括號

所有控制結(jié)構(gòu)都必須使用花括號(例如,if,else,for,do,while等),這樣后期維護時,不容易出錯。

Fail:

 

  1. if (valid) 
  2.    doSomething(); 
  3. if (amount > 100)  
  4.     doSomething(); 
  5. else if(amount > 200) 
  6.     doSomethingElse(); 

Pass:

 

  1. if (valid) { 
  2.    doSomething(); 
  3. if (amount > 100) { 
  4.    doSomething(); 
  5. }  
  6. else if(amount > 200) { 
  7.     doSomethingElse(); 

9. 確保大括號從同一行開始,中間有空格

Fail:

 

  1. if (myNumber === 0) 
  2.     doSomething(); 

Pass:

 

  1. if (myNumber === 0) { 
  2.     doSomething(); 

10. 嘗試減少嵌套

if 中嵌套if 會變得混亂并且很難閱讀。有時你可能無法解決問題,但是可以好好查看代碼,看看是否可以改進。

Fail:

 

  1. if (myNumber > 0) { 
  2.   if (myNumber > 100) { 
  3.        if (!hasDiscountAlready) { 
  4.            return addDiscountPercent(0); 
  5.        } else { 
  6.            return addDiscountPercent(10); 
  7.        } 
  8.   } else if (myNumber > 50) { 
  9.     if (hasDiscountAlready) { 
  10.        return addDiscountPercent(5); 
  11.     } 
  12.   } else { 
  13.     if (!hasDiscountAlready) { 
  14.       return addDiscountPercent(0); 
  15.     } else { 
  16.       return addDiscountPercent(1); 
  17.     } 
  18.   } 
  19. else { 
  20.      error(); 

Pass:

 

  1. if (myNumber <= 0) { 
  2.    return error; 
  3. if (!hasDiscountAlready) { 
  4.     return addDiscountPercent(0); 
  5. if (myNumber > 100) {  
  6.     return addDiscountPercent(10); 
  7. if (myNumber > 50) {  
  8.     return addDiscountPercent(5); 
  9. return addDiscountPercent(1); 

通過上面的示例可以看出,減少嵌套之后,會變得容易閱讀。

11. 盡可能使用默認(rèn)參數(shù)

在 JavaScript 中,如果你在調(diào)用函數(shù)時沒有傳遞參數(shù),則它的值就是 undefined

Fail:

 

  1. myFunction(a, b) { 
  2.   return a + b; 

Pass:

 

  1. myFunction(a = 0, b = 0) {  
  2.    return a + b; 

12. `Switch` 語句應(yīng)使用 `break` 并具有 `default`

我通常會嘗試不使用 switch 語句,但是你確實想使用它,請確保每個條件都 break ,并寫了 defalut。

Fail:

 

  1. switch (myNumber) 
  2.   case 10:  
  3.    addDiscountPercent(0); 
  4.   case 20:  
  5.    addDiscountPercent(2); 
  6.   case 30: 
  7.    addDiscountPercent(3); 

Pass:

 

  1. switch (myNumber) 
  2.   case 10:  
  3.     addDiscountPercent(0); 
  4.     break; 
  5.   case 20:  
  6.     addDiscountPercent(2); 
  7.     break; 
  8.   case 30: 
  9.     addDiscountPercent(3); 
  10.     break; 
  11.   default:  
  12.     addDiscountPercent(0); 
  13.     break; 

13. 不要使用通配符導(dǎo)入

Fail:

 

  1. import * as Foo from './Foo'

Pass:

 

  1. import Foo from './Foo'

14. 使用布爾值的快捷方式

Fail:

 

  1. if (isValid === true
  2. if (isValid === false

Pass:

 

  1. if (isValid) 
  2. if (!isValid) 

15. 嘗試避免不必要的三元語句

Fail:

 

  1. const boo = a ? a : b; 

Pass:

 

  1. const boo = a || b; 

總結(jié)

任何語言的編碼標(biāo)準(zhǔn)都可以真正幫助提高應(yīng)用程序的可讀性和可維護性。如果你在團隊中工作,那么一件很難的事情就是強制執(zhí)行編碼標(biāo)準(zhǔn)。這里有一些建議可以幫助你:

  • 代碼審查,逐行Pass代碼。
  • 整理或使用某種代碼分析器
  • 創(chuàng)建新內(nèi)容時,讓你們的一位高級開發(fā)人員初始化,其他開發(fā)人員可以使用該代碼作為指導(dǎo)。

 

 

責(zé)任編輯:華軒 來源: 前端宇宙
相關(guān)推薦

2012-09-25 09:28:36

程序員代碼代碼整潔

2020-05-07 10:18:06

JavaScript前端技術(shù)

2012-07-10 13:57:19

Web前端

2022-10-31 07:09:15

拷貝代碼項目

2022-08-29 18:34:46

Pythonsubprocess系統(tǒng)

2020-05-07 17:03:49

Python編碼開發(fā)

2020-06-01 07:41:52

Gmail郵箱郵件安全電子郵件

2019-09-17 14:31:52

JSJavaScript前端

2025-03-17 00:00:00

2024-01-19 08:20:27

JavaScript編程語言箭頭函數(shù)

2024-09-25 14:16:35

2018-03-30 09:00:00

LinuxUbuntu清理方法

2023-03-15 15:54:36

Java代碼

2014-08-11 12:54:27

構(gòu)建模塊代碼審查編程

2019-04-04 14:05:20

consolejs前端

2024-03-15 13:06:00

代碼技巧ES6-

2017-09-08 12:15:54

Python代碼Pythonic

2021-03-28 16:55:11

Python工具鏈代碼

2020-07-03 14:50:23

Python代碼編程語言

2020-12-09 10:49:33

代碼開發(fā)GitHub
點贊
收藏

51CTO技術(shù)棧公眾號