成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

JavaScript代碼中的壞味道

開發 前端
編寫軟件很難。 只有少數方法可以做到正確,有很多方法可以做到錯誤,使我們的生活更加艱難。在本文中,我們將通過一些代碼氣味來探討編寫不良代碼的一些方法。

編寫軟件很難。 只有少數方法可以做到正確,有很多方法可以做到錯誤,使我們的生活更加艱難。

在本文中,我們將通過一些代碼氣味來探討編寫不良代碼的一些方法。

[[329878]]

具有不同接口的替代類

由于重復,兩個功能相同但接口不同的類并不好。

我們不想那樣。 因此,我們可能要使用共享代碼創建一個超類,然后使子類具有不同的方法。

庫類不完整

重用并沒有被高估。

圖書館建設者的工作艱巨。 他們可能會開設不完整的課程,但不允許我們修改它們以完成我們希望他們做的事情。

因此,這使庫類對我們毫無用處,除非我們可以添加所需的功能。

我們可能必須直接向這些類添加新方法來解決此問題。

例如,如果我們導入了一個類,則可以通過編寫以下代碼來添加自己的方法:

  1. const mixin = { 
  2.   foo() { 
  3.     //... 
  4.   }, 
  5.   bar() { 
  6.     //... 
  7.   } 
  8. Object.assign(Foo.prototype, mixin); 

在上面的代碼中,我們將Foo類的原型中的代碼與mixin對象中的方法合并,以使用Object.assign方法將更多方法合并到該類中。

數據類型

數據類是僅具有字段的類。

這些類可能被其他類過多地操作。

因此,如果所有公開領域都公開了,我們應該封裝它們。

如果需要,我們還可以封裝收集字段。

為了封裝它們,我們可以將字段設為私有,并添加訪問和設置它們的方法。

拒絕繼承

子類繼承父類可以訪問它們的方法。

如果我們不需要父類中的這些類,則可以將它們下推到子類中。

然后,并不是所有的子類都將從父類繼承方法,而它們仍然可以留在需要它們的子類中。

注釋

評論對某些事情很有用。 我們可以評論為什么要執行某項操作,但是由于我們已經在代碼中進行了操作,因此無需在評論中說明我們如何執行操作。

還注釋代碼是不好的。 首先,我們應該把它們帶走,因為它們沒有運行。

不屬于自己的條件

我們應該將條件語句分成自己的一行,以便我們可以更輕松地閱讀它們。

所以不用寫:

  1. if (foo) { 
  2.   //... 
  3. } if (bar) { 
  4.   //... 

我們寫:

  1. if (foo) { 
  2.   //... 
  3. if (bar) { 
  4.   //... 

注釋可選參數

可選參數在JavaScript中應具有默認值。 例如,我們可以編寫以下代碼來指示參數是可選的:

  1. const foo = (a = 1) => { 
  2.   //... 

[[329879]]

> Photo by Samantha Gades on Unsplash

當心"死存儲"

死存儲是指我們為變量分配值,但不使用原始值就重新分配了值。

因此,我們實際上并不需要原始值,因此可以刪除該行。

所以不用寫:

  1. let x = 1
  2. x = 8 * 10; 

我們寫:

  1. let x = 8 * 10; 

不要反轉我們的布爾值

雙否定總是比直接條件表達式更難讀。

因此,我們應該以更直接的方式編寫是可能的。 例如,而不是寫:

  1. if (!(x > 10)) {  
  2.   //... 

我們寫:

  1. if (x <= 10) {  
  2.   //... 

如我們所見,第二條if語句比第一條if語句更易于閱讀,并且更短。 他們都是一樣的。

使用模板字符串

模板字符串是最好的JavaScript字符串。 我們可以在其中插入表達式,而其他任何類型的字符串都無法做到。

另外,我們可以通過在字符串中輸入換行符來創建多行字符串。

由于反引號用作模板字符串的定界符,因此可以在字符串內部使用引號而不轉義它們。

結論

模板字符串很棒。 它們使我們可以做更多舊式弦弦無法完成的事情。

要向不完整的庫類添加更多方法,我們可以使用Object.assign向它們添加自己的方法。

另外,我們需要封裝數據類,以使您的代碼不會與數據類緊密耦合。

 

責任編輯:趙寧寧 來源: 今日頭條
相關推薦

2019-10-11 09:07:46

Java代碼對象

2015-07-29 13:22:40

.NET代碼

2012-07-13 09:35:58

PHP

2012-07-13 09:38:15

項目代碼

2021-05-26 11:50:37

代碼優化Java

2012-07-19 10:42:17

項目

2018-08-24 21:25:02

編程語言代碼重構GitHub

2022-01-26 10:29:24

微服務循環依賴代碼

2022-05-07 10:01:20

好代碼壞代碼

2020-12-01 08:36:10

代碼程序員函數

2020-04-26 10:01:14

編程學習技術

2019-09-29 16:17:25

Java代碼性能編程語言

2011-10-31 14:53:23

Dart

2018-03-29 14:51:59

智能公廁AI

2010-09-02 11:34:51

SQL刪除

2024-04-17 09:35:30

AI數字化

2013-12-04 14:19:40

JavaScript代碼重用

2012-05-28 15:32:05

PHP

2024-09-05 10:17:34

2024-12-11 18:24:29

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久草在线视频 | 天堂网中文 | 国产精品视频久久久久久 | 一区二区三区四区电影视频在线观看 | 五月天天丁香婷婷在线中 | 成人在线免费电影 | 福利二区 | 自拍偷拍亚洲欧美 | 区一区二在线观看 | 狠狠亚洲| 91精品国产91久久综合桃花 | 看黄在线 | com.国产| 日韩精品免费在线观看 | 久久精品在线 | 成人综合伊人 | www.亚洲区 | 中文字幕综合 | 欧洲高清转码区一二区 | 日韩免费一区二区 | 精品亚洲一区二区三区四区五区 | 黄色大片在线免费观看 | 久久精品久久久久久 | 九九亚洲 | 午夜精品一区二区三区在线视 | 国产精品一区二区三区四区五区 | 久久亚洲国产精品日日av夜夜 | 激情福利视频 | www.操.com| 国产精品99久久久久久久久久久久 | 99re在线视频 | 国产一区二区三区四区三区四 | 亚洲激精日韩激精欧美精品 | 国产精品一区二区福利视频 | 99riav3国产精品视频 | 日韩一区二区三区在线 | 日韩五月天| 美女逼网站| 在线午夜 | 日韩中出| 在线观看免费黄色片 |