日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
JavaScript代碼中的壞味道

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

成都創(chuàng)新互聯(lián)網(wǎng)絡(luò)公司擁有10多年的成都網(wǎng)站開發(fā)建設(shè)經(jīng)驗,上1000+客戶的共同信賴。提供成都網(wǎng)站制作、網(wǎng)站設(shè)計、網(wǎng)站開發(fā)、網(wǎng)站定制、買友情鏈接、建網(wǎng)站、網(wǎng)站搭建、響應(yīng)式網(wǎng)站、網(wǎng)頁設(shè)計師打造企業(yè)風格,提供周到的售前咨詢和貼心的售后服務(wù)

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

具有不同接口的替代類

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

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

庫類不完整

重用并沒有被高估。

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

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

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

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

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

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

數(shù)據(jù)類型

數(shù)據(jù)類是僅具有字段的類。

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

因此,如果所有公開領(lǐng)域都公開了,我們應(yīng)該封裝它們。

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

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

拒絕繼承

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

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

然后,并不是所有的子類都將從父類繼承方法,而它們?nèi)匀豢梢粤粼谛枰鼈兊淖宇愔小?/p>

注釋

評論對某些事情很有用。 我們可以評論為什么要執(zhí)行某項操作,但是由于我們已經(jīng)在代碼中進行了操作,因此無需在評論中說明我們?nèi)绾螆?zhí)行操作。

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

不屬于自己的條件

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

所以不用寫:

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

我們寫:

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

注釋可選參數(shù)

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

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

> Photo by Samantha Gades on Unsplash

當心"死存儲"

死存儲是指我們?yōu)樽兞糠峙渲担皇褂迷贾稻椭匦路峙淞酥怠?/p>

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

所以不用寫:

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

我們寫:

  
 
 
  1. let x = 8 * 10; 

不要反轉(zhuǎn)我們的布爾值

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

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

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

我們寫:

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

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

使用模板字符串

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

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

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

結(jié)論

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

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

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


名稱欄目:JavaScript代碼中的壞味道
當前地址:http://www.dlmjj.cn/article/dhoiise.html