JavaScript庫 開發(fā)規(guī)則
1. 保持無侵入性 我的HTML標(biāo)記不想知道你的JavaScript代碼。
2. 嚴(yán)禁修改和擴(kuò)展Object.prototype! 這條很重要,因此需要一條完全針對它的規(guī)則。對象是JavaScript功能的基本構(gòu)建模塊,不要搞亂它們。
3. 不要過分?jǐn)U展 對JavaScript內(nèi)建對象的擴(kuò)展越少越好。別誤解我的意思。JavaScript的原生對象中有用的方法是有點(diǎn)少,有時不得不添加一兩個自己的方法。但是,對于富有創(chuàng)造力的(庫)程序員來說,添加這“一兩個”方法是不夠的。然而,請停下來!添加需要的就好。你對JavaScript內(nèi)建對象的擴(kuò)展越少,你的代碼與其它框架產(chǎn)生的沖突的概率就越少。
4. 跟隨標(biāo)準(zhǔn) 作為一個庫的開發(fā)者,你定義JavaScript代碼的模式。設(shè)計(jì)模式是編程語言能力弱的體現(xiàn)。 記住,JavaScript和DOM還在不斷地被規(guī)格化。如果你想“修正”某些東西,最好先看看是否已經(jīng)被修正,考慮已有的解決方案。 如果你跟隨標(biāo)準(zhǔn),就緊緊的跟著標(biāo)準(zhǔn)走(比如:別遺漏了forEach 方法的某個參數(shù))。
5. 或著跟隨主導(dǎo) Mozilla引領(lǐng)著JavaScript. JavaScript語言的創(chuàng)建者Brendan Eich, 還在持續(xù)開發(fā)。和其它瀏覽器相比,在Mozilla瀏覽器中這些新的語言特性最先可用。 如果你想給JavaScript添加新的語言特性,可以先瞧瞧Mozilla標(biāo)準(zhǔn)。例如,你想給Array對象擴(kuò)展一個枚舉方法時,最好把這個方法取名為forEach而不是each. 如果你的確想提供尚不存在的語言特性,那么請緊緊跟隨著現(xiàn)有的標(biāo)準(zhǔn)走(參考上面的例子)。
6. 保持靈活 如果我想修改行為而不改變你的源碼,這容易不?如果不夠容易,讓它更容易些。
7. 管理內(nèi)存 大家擔(dān)心內(nèi)存泄漏,你要盡力而為。
8. 淘汰瀏覽器嗅探 貌似瀏覽器廠商們將永遠(yuǎn)通過添加新特性來競爭;-) 作為庫的開發(fā)者,你要跟得上最新的潮流。偶爾瀏覽一次Ajaxian是不夠的,你必須奴隸般地閱讀每一篇博客文章以找到下一個hack. 瀏覽器嗅探會上癮的。
9. 小巧更佳 各種JavaScript庫已經(jīng)成熟。某些庫已經(jīng)應(yīng)用在主流網(wǎng)站上。但并不是所有人都裝了2MBit的DSL帶寬,因此請保持庫的小巧。更好的做法是,提供一個打包頁面,允許按照我的需求有效地構(gòu)建自己的庫。
10. 第十條規(guī)則 Good ol' tenth rule(好像是一個口語用法,不知道怎么翻譯好). 你可以始終依賴第十條規(guī)則。這就是: 保持可預(yù)測。 我應(yīng)該可以猜到你的方法是用來干嘛的。如果我不知道某個方法的名字,也應(yīng)該能讓我猜出來。
11. 附加規(guī)則
文檔,惱人但絕對是需要去做的。
你用的命名空間越多,我就越難記住,就如你的電話號碼一樣。
記?。嚎赡苡袛?shù)百萬人將執(zhí)行你的代碼。
相關(guān)文章
詳解JavaScript如何控制并發(fā)請求數(shù)量
某些情況下,我們可能需要對需要執(zhí)行的多個異步任務(wù)進(jìn)行異步數(shù)量控制,只允許固定數(shù)量的任務(wù)執(zhí)行,本文為大家整理了JS控制并發(fā)請求數(shù)量的相關(guān)代碼,希望對大家有所幫助2024-01-01
javascript使用Promise對象實(shí)現(xiàn)異步編程
這篇文章主要介紹了javascript使用Promise對象實(shí)現(xiàn)異步編程的相關(guān)資料,需要的朋友可以參考下2016-03-03
JavaScript中的apply()方法和call()方法使用介紹
我們發(fā)現(xiàn)apply()和call()的真正用武之地是能夠擴(kuò)充函數(shù)賴以運(yùn)行的作用域,如果我們想用傳統(tǒng)的方法實(shí)現(xiàn)2012-07-07
JavaScript markdown 編輯器實(shí)現(xiàn)雙屏同步滾動
這篇文章主要介紹了JavaScript markdown 編輯器實(shí)現(xiàn)雙屏同步滾動,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下2022-08-08

