最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2014年05月02日 00:04:28   作者:  
這幾年來(lái)經(jīng)歷了很多項(xiàng)目,對(duì)代碼之間的強(qiáng)耦合及書(shū)寫不規(guī)范,維護(hù)性差等問(wèn)題深惡痛絕。在這里,通過(guò)仔細(xì)分析后,結(jié)合自己的編碼習(xí)慣總結(jié)了一套適用于javaweb項(xiàng)目的前端書(shū)寫規(guī)范,與大家分享一下

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

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

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

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

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


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

二、common.js

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

三、task.js

這個(gè)文件是模塊中我的項(xiàng)目中任務(wù)模塊的js(例子),模塊級(jí)別的js一般是將頁(yè)面中相對(duì)獨(dú)立重要的方法抽離出來(lái)的方法,不建議所有頁(yè)面js都拿進(jìn)來(lái)。

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

四、頁(yè)面index.jsp

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



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

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

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

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

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

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

/**

 *

 */

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

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

//描述:

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

//代碼描述

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

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

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

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

相關(guān)文章

  • JSP頁(yè)面中文傳遞參數(shù)使用escape編碼

    JSP頁(yè)面中文傳遞參數(shù)使用escape編碼

    今天在使用中文傳遞參數(shù)時(shí),遇到死活編碼轉(zhuǎn)不過(guò)去,于是想到了用escape,下面與大家分享下具體的使用方法,感興趣的朋友可以參下啊
    2013-05-05
  • 基于javaweb+jsp實(shí)現(xiàn)個(gè)人日記管理系統(tǒng)

    基于javaweb+jsp實(shí)現(xiàn)個(gè)人日記管理系統(tǒng)

    這篇文章主要介紹了基于javaweb+jsp實(shí)現(xiàn)的簡(jiǎn)單的個(gè)人日記管理系統(tǒng),文中的示例代碼對(duì)我們學(xué)習(xí)JSP和javaWeb有一定的幫助,感興趣的可以學(xué)習(xí)一下
    2022-01-01
  • jsp中定義和使用方法示例介紹

    jsp中定義和使用方法示例介紹

    在jsp中,如果需要處理復(fù)雜數(shù)據(jù)時(shí),在上方定義一個(gè)java方法是很有效的解決方案,本文為大家講解下jsp中如何定義及使用方法,感興趣的朋友可以了解下
    2013-09-09
  • JSP驗(yàn)證碼簡(jiǎn)單生成方法

    JSP驗(yàn)證碼簡(jiǎn)單生成方法

    這篇文章主要介紹了JSP驗(yàn)證碼簡(jiǎn)單生成方法,實(shí)例分析了jsp驗(yàn)證碼圖片的生成技巧,涉及jsp數(shù)學(xué)運(yùn)算及圖像處理方法,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-10-10
  • jsp簡(jiǎn)單連接SQL Server2000數(shù)據(jù)庫(kù)的方法

    jsp簡(jiǎn)單連接SQL Server2000數(shù)據(jù)庫(kù)的方法

    這篇文章主要介紹了jsp簡(jiǎn)單連接SQL Server2000數(shù)據(jù)庫(kù)的方法,較為詳細(xì)的分析了JSP連接SQL Server2000數(shù)據(jù)庫(kù)的相關(guān)設(shè)置技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-10-10
  • 六、訪問(wèn)CGI變量

    六、訪問(wèn)CGI變量

    六、訪問(wèn)CGI變量...
    2006-10-10
  • JSP一句話后門

    JSP一句話后門

    JSP一句話后門...
    2007-02-02
  • Jsp+Servlet實(shí)現(xiàn)購(gòu)物車功能

    Jsp+Servlet實(shí)現(xiàn)購(gòu)物車功能

    這篇文章主要為大家詳細(xì)介紹了Jsp+Servlet實(shí)現(xiàn)購(gòu)物車功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • JSP迅速入門

    JSP迅速入門

    JSP迅速入門...
    2006-10-10
  • 詳解Spring mvc ant path的使用方法

    詳解Spring mvc ant path的使用方法

    這篇文章主要介紹了詳解Spring mvc ant path的使用方法的相關(guān)資料,希望大家通過(guò)本文能掌握這部分內(nèi)容,需要的朋友可以參考下
    2017-08-08

最新評(píng)論

诸城市| 昭平县| 卢湾区| 图片| 卓尼县| 武强县| 长武县| 和顺县| 铜梁县| 盈江县| 通渭县| 乌拉特中旗| 崇文区| 璧山县| 齐河县| 溆浦县| 墨脱县| 德昌县| 马关县| 赤水市| 赤城县| 铜山县| 西峡县| 崇仁县| 邵东县| 固镇县| 随州市| 永嘉县| 洛浦县| 苍梧县| 方山县| 祁阳县| 如皋市| 开平市| 崇文区| 汝城县| 专栏| 马关县| 西乌珠穆沁旗| 静海县| 诸暨市|