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

Github標(biāo)星7.9K!程序員專屬的命名寶典來了

新聞 前端
這個(gè)項(xiàng)目介紹了命名時(shí)需要考慮的數(shù)個(gè)要點(diǎn),旨在幫你解決命名困難的問題,教你如何便捷、輕松地進(jìn)行命名,這個(gè)項(xiàng)目就叫——naming-cheatsheet。

 命名一直是程序員最煩惱的事情之一,一個(gè)好的命名可以讓一段代碼看起來可讀性更強(qiáng),后續(xù)維護(hù)的人員也會(huì)更輕松。因此,在團(tuán)隊(duì)中統(tǒng)一使用同一套命名規(guī)范是相當(dāng)有必要的。

今天,猿妹要和大家分享一份命名寶典,專門幫助程序員如何命名,這個(gè)項(xiàng)目介紹了命名時(shí)需要考慮的數(shù)個(gè)要點(diǎn),旨在幫你解決命名困難的問題,教你如何便捷、輕松地進(jìn)行命名,這個(gè)項(xiàng)目就叫——naming-cheatsheet。

naming-cheatsheet已經(jīng)在Github上標(biāo)星 7.9K,累計(jì)分支 386 個(gè)(Github地址:https://github.com/kettanaito/naming-cheatsheet)

這些命名規(guī)則適用于任何編程語(yǔ)言,創(chuàng)建者以JavaScript為例演示,一起來看看吧:

英語(yǔ)命名

在命名變量和函數(shù)名時(shí)用英文名稱命名:

  1. /* Bad */ 
  2.  
  3. const primerNombre = 'Gustavo' 
  4.  
  5. const amigos = ['Kate''John'
  6.  
  7. /* Good */ 
  8.  
  9. const firstName = 'Gustavo' 
  10.  
  11. const friends = ['Kate''John'

不管你喜歡與否,英語(yǔ)是編程中的主導(dǎo)語(yǔ)言,所有編程語(yǔ)言的語(yǔ)法都是用英語(yǔ)編寫的,還有無數(shù)的文檔和教學(xué)資料也是英文,通過英語(yǔ)編寫代碼,可以極大地增加代碼的凝聚力。

約定命名

選擇一套命名規(guī)范并遵循它,在團(tuán)隊(duì)中保持命名的一致性,它可以是camelCase、PascalCase、snake_case或其他任何東西。許多編程語(yǔ)言在命名約定方面都有自己的傳統(tǒng),你可以查看自己的編程語(yǔ)言文檔或者學(xué)習(xí)一些Github上流行的知識(shí)庫(kù)。

  1. /* Bad */ 
  2.  
  3. const page_count = 5 
  4.  
  5. const shouldUpdate = true 
  6.  
  7. /* Good */ 
  8.  
  9. const pageCount = 5 
  10.  
  11. const shouldUpdate = true 
  12.  
  13. /* Good as well */ 
  14.  
  15. const page_count = 5 
  16.  
  17. const should_update = true 

S-I-D命名原則

名稱必須簡(jiǎn)短、直觀和描述性:

  • 短:輸入一個(gè)名稱一定不要花太長(zhǎng)時(shí)間,因此一定要簡(jiǎn)短
  • 直觀:名稱讀起來一定要直觀,盡可能貼近日常用語(yǔ)
  • 描述性:名稱必須可以用最有效的方式反映它的作用
  1. /* Bad */ 
  2.  
  3. const a = 5 // "a" could mean anything 
  4.  
  5. const isPaginatable = a > 10 // "Paginatable" sounds extremely unnatural 
  6.  
  7. const shouldPaginatize = a > 10 // Made up verbs are so much fun! 
  8.  
  9. /* Good */ 
  10.  
  11. const postCount = 5 
  12.  
  13. const hasPagination = postCount > 10 
  14.  
  15. const shouldPaginate = postCount > 10 // alternatively 

避免過度的簡(jiǎn)寫

不要使用縮寫,它們只會(huì)降低代碼的可讀性,找到一個(gè)簡(jiǎn)短的可讀的名稱可能會(huì)很難,但即便如此也別使用簡(jiǎn)寫。

  1. /* Bad */ 
  2.  
  3. const onItmClk = () => {} 
  4.  
  5. /* Good */ 
  6.  
  7. const onItemClick = () => {} 

避免重復(fù)命名

上下文的名稱不應(yīng)該重復(fù)

  1. class MenuItem { 
  2.  
  3. /* Method name duplicates the context (which is "MenuItem") */ 
  4.  
  5. handleMenuItemClick = (event) => { ... } 
  6.  
  7. /* Reads nicely as `MenuItem.handleClick()` */ 
  8.  
  9. handleClick = (event) => { ... } 
  10.  

反映預(yù)期結(jié)果

變量或函數(shù)的命名應(yīng)該做到能夠反映預(yù)期的結(jié)果。

  1. /* Bad */ 
  2.  
  3. const isEnabled = itemCount > 3 
  4.  
  5. return <Button disabled={!isEnabled} /> 
  6.  
  7. /* Good */ 
  8.  
  9. const isDisabled = itemCount <= 3 
  10.  
  11. return <Button disabled={isDisabled} /> 

以上就是命名的6大原則,除此之外,創(chuàng)建者還介紹了命名模式,諸如A/HC/LC模式、動(dòng)作、前綴、單復(fù)數(shù)等模式,感興趣的不妨自己去學(xué)習(xí)一下吧。

 

責(zé)任編輯:張燕妮 來源: 開源最前線
相關(guān)推薦

2021-11-26 05:57:12

開源備份Restic

2019-08-09 18:08:13

程序員技能開發(fā)者

2019-05-16 09:13:31

Github定理開發(fā)

2020-12-08 10:23:42

程序員PPT開發(fā)

2020-06-16 11:09:13

程序員技能開發(fā)者

2020-12-30 10:35:49

程序員技能開發(fā)者

2021-04-09 16:25:00

GitHub代碼開發(fā)者

2020-01-13 13:00:59

程序員技能開發(fā)者

2021-10-21 05:57:33

網(wǎng)盤開源云盤系統(tǒng)

2013-11-01 17:24:39

程序員命名

2015-12-24 10:25:30

微軟程序員時(shí)代

2020-02-20 10:00:04

GitHubPyTorch開發(fā)者

2022-03-25 22:57:37

系統(tǒng)設(shè)計(jì)架構(gòu)

2023-07-17 13:21:30

程序員模型

2021-05-17 09:44:34

程序員技能開發(fā)者

2022-04-18 11:05:36

開源github代碼庫(kù)

2021-09-04 15:42:17

GitHub面試程序員

2019-12-24 11:13:02

GitHub代碼開發(fā)者

2021-03-02 09:34:15

GitHub倉(cāng)庫(kù)代碼

2021-09-18 11:28:29

GitHub代碼開發(fā)者
點(diǎn)贊
收藏

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