婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Java Web項目前端規(guī)范(采用命名空間使js深度解耦合)

Java Web項目前端規(guī)范(采用命名空間使js深度解耦合)

熱門標(biāo)簽:高德地圖標(biāo)注樣式 電銷機器人好賣么 地圖標(biāo)注線上教程 杭州語音電銷機器人軟件 四川保險智能外呼系統(tǒng)商家 商洛電銷 北票市地圖標(biāo)注 電銷機器人是有一些什么技術(shù) 杭州ai語音電銷機器人功能

沒有規(guī)矩不成方圓,一個優(yōu)秀的代碼架構(gòu)不僅易于開發(fā)和維護,而且是一門管理與執(zhí)行的藝術(shù)。

這幾年來經(jīng)歷了很多項目,對代碼之間的強耦合及書寫不規(guī)范,維護性差等問題深惡痛絕。在這里,通過仔細分析后,結(jié)合自己的編碼習(xí)慣總結(jié)了一套適用于javaweb項目的前端書寫規(guī)范,與大家分享一下。

ps:感謝阿海的創(chuàng)意,后期整理如下(附文件下載):

一、項目結(jié)構(gòu)

這里和其他項目區(qū)別不大,我將模板抽離出來,更容易分析和理解:


解釋一下:js主要包括extends(引入第三方的js)、module(項目模塊自己的js)、lib(引用包,這里也可以繼續(xù)拆分),module中包含具體的模塊中的js。common.js是核心命名空間的js.

二、common.js

解釋一下,Globals作為全局命名空間,各個模塊均可以在此命名空間里定義域(如果有不明白的可以自學(xué)下命名空間,這個文件寫死就行,也不用具體理解)。

三、task.js

這個文件是模塊中我的項目中任務(wù)模塊的js(例子),模塊級別的js一般是將頁面中相對獨立重要的方法抽離出來的方法,不建議所有頁面js都拿進來。

解釋一下:模塊級別的js 主要包括自己的私有屬性和方法,及對外暴露的js屬性和方法。這里我們默認(rèn)凡是內(nèi)部私有的前面都加“_”,最后決定哪些方法和屬性暴露出來,是通過構(gòu)造方法constructor來對外暴露。

四、頁面index.jsp

現(xiàn)在看一下jsp中如何對頁面js和模塊js是怎么引用的吧,見證解耦和的時候到了。



解釋一下:頁面需要將common.js與task.js引入,然后初始化,這樣就可以訪問task模塊中對外暴露的方法和屬性了。

頁面js建議所有的變量發(fā)在一個變量組中,這樣便于維護。

頁面中控件的onclick等方法建議在js中統(tǒng)一綁定。

總結(jié):通過上面的配置,最大的好處是對于項目中頻繁引入js文件,消除了之間的耦合性,而且對于不同模塊間的同名方法和屬性也不會互相影響,當(dāng)然最主要的便于持續(xù)的開發(fā)和維護,同時也是藝術(shù)上的享受。

本文采用了我習(xí)慣的注釋風(fēng)格,當(dāng)然可以因人而異,我的原則是:

1.模塊介紹代碼主要關(guān)注:模塊描述,負責(zé)人,相關(guān)備注,采用雙星注釋

/**

 *

 */

2.對于模塊下,大區(qū)域的劃分,習(xí)慣采用雙橫線注釋:

//==================================================

//描述:

3.對于區(qū)域中,方法注釋,通過以往的經(jīng)驗,不是每個人都愿意詳細去寫的,所以我認(rèn)為簡單明了最好,采用普通注釋:

//代碼描述

//作者備注等信息(不限)

4.對于區(qū)域中一些重要的方法,或者想?yún)^(qū)分一下,劃定小區(qū)間的,采用星橫線

/****************************描述*****************************/

如果有好的意見大家可以一起討論,如果感覺文章寫得對自己沒什么幫助,權(quán)當(dāng)一笑了之。

您可能感興趣的文章:
  • Java 你知道什么是耦合、如何解(降低)耦合
  • 高內(nèi)聚低耦合原則_動力節(jié)點Java學(xué)院整理
  • java Spring松耦合高效應(yīng)用簡單實例分析
  • java的接口解耦方式

標(biāo)簽:丹東 紅河 西藏 宿州 貴州 江西 青島 云浮

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Java Web項目前端規(guī)范(采用命名空間使js深度解耦合)》,本文關(guān)鍵詞  Java,Web,項目,前端,規(guī)范,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Java Web項目前端規(guī)范(采用命名空間使js深度解耦合)》相關(guān)的同類信息!
  • 本頁收集關(guān)于Java Web項目前端規(guī)范(采用命名空間使js深度解耦合)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 中方县| 松江区| 杨浦区| 永胜县| 香港 | 井冈山市| 蒙阴县| 丽水市| 南阳市| 河池市| 开化县| 炎陵县| 怀远县| 法库县| 旬阳县| 老河口市| 屯门区| 诸暨市| 桃园县| 德兴市| 东兰县| 乐都县| 大洼县| 德化县| 灌阳县| 台前县| 喀喇沁旗| 桃江县| 德保县| 安乡县| 南开区| 盈江县| 自贡市| 偃师市| 河西区| 寻甸| 浮山县| 五河县| 卫辉市| 永嘉县| 繁昌县|