亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專(zhuān)欄INFORMATION COLUMN

JavaScript 代碼優(yōu)化和部署——“可維護(hù)性”的注意要點(diǎn)

scwang90 / 456人閱讀

摘要:代碼約定可讀性以下地方需要進(jìn)行注釋函數(shù)和方法注釋參數(shù)代表什么,是否有返回值大段代碼描述任務(wù)的注釋復(fù)雜的算法變量和函數(shù)命名變量用名詞函數(shù)名用動(dòng)詞開(kāi)頭等返回布爾值類(lèi)型的函數(shù)用等合乎邏輯不用擔(dān)心太長(zhǎng)變量類(lèi)型透明化方法一初始化,如下推薦方法二匈牙利

代碼約定 可讀性

以下地方需要進(jìn)行注釋?zhuān)?/p>

函數(shù)和方法:注釋參數(shù)代表什么,是否有返回值;

大段代碼:描述任務(wù)的注釋?zhuān)?/p>

復(fù)雜的算法;

Hack

變量和函數(shù)命名

變量用名詞;

函數(shù)名用動(dòng)詞開(kāi)頭:getName()等;

返回布爾值類(lèi)型的函數(shù)用isEnable()等;

合乎邏輯不用擔(dān)心太長(zhǎng);

變量類(lèi)型透明化

方法一:初始化,如下:()推薦)

var isFound = false; //boolean
var name = ""; //String
var num = 0; //Number
var person = null; //Object

方法二:匈牙利標(biāo)記法

var bIsFound; //boolean
var sName; //String
var nNum; //Number
var oPerson; //Object

方法三:使用類(lèi)型注釋

var bIsFound /*boolean*/ = false;
var sName /*string*/ = "";
var nNum /*number*/ = 0;
var oPerson /*object*/ = null;
松散耦合 HTML/JavaScript

應(yīng)該通過(guò)引用外部文件和使用DOM附加行為來(lái)包含js代碼

CSS/JavaScript

應(yīng)該通過(guò)動(dòng)態(tài)更改樣式的類(lèi)(className)而非特定樣式來(lái)實(shí)現(xiàn)

編程習(xí)慣 尊重對(duì)象所有權(quán)

不要修改和編輯不屬于你的對(duì)象,以及js原生類(lèi)型對(duì)象

避免全局量

盡量避免全局變量和函數(shù):

var name = "";
function setName(value) {
    name = value;
}
function sayName() {
    console.log(name);
}

上面的代碼應(yīng)該包含在一個(gè)對(duì)象中:

var setPersonName = {
    name: "",
    setName: function (value) {
        this.name = value;
    },
    sayName: function () {
        console.log(this.name);
    }
};
setPersonName.setName("Oli");
setPersonName.sayName(); //Oli
使用命名空間

使用多個(gè)命名空間,其中的內(nèi)容互不干擾:

//全局對(duì)象
var Wrox = {};
//一個(gè)命名空間
Wrox.ProAjax = {};
Wrox.ProAjax.EventUtil = {};
Wrox.ProAjax.CookieUtil = {};
//另一個(gè)命名空間
Wrox.ProJS = {};
Wrox.ProJS.EventUtil = {};
Wrox.ProJS.CookieUtil = {};
避免與null比較

當(dāng)看到了與null比較的代碼,應(yīng)該用以下技術(shù)替換:

引用類(lèi)型,用instanceof等;

基本類(lèi)型,用typeof等;

使用常量

(略)

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/78940.html

相關(guān)文章

  • JavaScript 代碼優(yōu)化部署——“性能部署注意要點(diǎn)

    摘要:注意作用域避免全局查找以上代碼應(yīng)該修改如下避免語(yǔ)句必須使用語(yǔ)句的情況很少,因?yàn)樗饕糜谙~外的字符。將代碼分離稱(chēng)多個(gè)文件只是為了提高可維護(hù)性,并非為了部署。要進(jìn)行部署的時(shí)候,需要將這些源代碼合并為一個(gè)或幾個(gè)歸并文件。 注意作用域 避免全局查找 function updateUI () { var images = document.getElementsByTagName(...

    Baaaan 評(píng)論0 收藏0
  • 記一次前端項(xiàng)目重構(gòu)要點(diǎn)總結(jié)

    摘要:重構(gòu)總共耗時(shí)個(gè)工作日。第一個(gè)重構(gòu)原因就是沒(méi)有引入靜態(tài)類(lèi)型,導(dǎo)致查看一個(gè)對(duì)象結(jié)構(gòu)需要翻來(lái)覆去在多個(gè)文件中查找。第三是各個(gè)狀態(tài)模塊耦合度高,加大了代碼維護(hù)難度。但如果耦合度過(guò)高,往往是因?yàn)槟K沒(méi)有細(xì)分到位。這個(gè)項(xiàng)目也不列外。 showImg(https://segmentfault.com/img/remote/1460000019660483); 不知不覺(jué)已是2019年的7月,恍惚之間已...

    frolc 評(píng)論0 收藏0
  • [譯] 唯快不破:Web 應(yīng)用 13 個(gè)優(yōu)化步驟

    摘要:譯文地址譯唯快不破應(yīng)用的個(gè)優(yōu)化步驟前端的逆襲知乎專(zhuān)欄原文地址時(shí)過(guò)境遷,應(yīng)用比以往任何時(shí)候都更具交互性。使用負(fù)載均衡方案我們?cè)谥坝懻摼彺娴臅r(shí)候簡(jiǎn)要提到了內(nèi)容分發(fā)網(wǎng)絡(luò)。換句話(huà)說(shuō),元素的串形訪(fǎng)問(wèn)會(huì)削弱負(fù)載均衡器以最佳形式 歡迎關(guān)注知乎專(zhuān)欄 —— 前端的逆襲歡迎關(guān)注我的博客,知乎,GitHub。 譯文地址:【譯】唯快不破:Web 應(yīng)用的 13 個(gè)優(yōu)化步驟 - 前端的逆襲 - 知乎專(zhuān)欄原文地...

    haobowd 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<