天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

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

沒有規矩不成方圓,一個優秀的代碼架構不僅易于開發和維護,而且是一門管理與執行的藝術。

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

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

一、項目結構

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


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

二、common.js

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

三、task.js

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

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

四、頁面index.jsp

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



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

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

頁面中控件的onclick等方法建議在js中統一綁定。

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

本文采用了我習慣的注釋風格,當然可以因人而異,我的原則是:

1.模塊介紹代碼主要關注:模塊描述,負責人,相關備注,采用雙星注釋

/**

 *

 */

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

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

//描述:

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

//代碼描述

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

4.對于區域中一些重要的方法,或者想區分一下,劃定小區間的,采用星橫線

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

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

jsp技術Java Web項目前端規范(采用命名空間使js深度解耦合),轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 囯产精品久久久久免费蜜桃 | 在线观看中文字幕码2021不用下载 | 里番※琉璃全彩acg奈亚子 | XXX国产麻豆HD | 纯肉无码AV在线看免费看 | 在线中文字幕亚洲日韩 | 被老总按在办公桌吸奶头 | 麻豆精品一区二正一三区 | 欧美一区二区视频97色伦 | 成人国产AV精品久久久久 | 亚洲AV精品无码成人 | 97人人看碰人免费公开视频 | 国产人妻人伦精品熟女麻豆 | 成人在线观看国产 | 久久黄色精品视频 | 成人在线观看免费视频 | 暖暖视频免费观看社区 | 午夜熟女插插XX免费视频 | 野草观看免费高清视频 | 亚州视频一区 | 蜜臀AV色欲A片无码一区 | 在线中文字幕视频 | 成人免费看片又大又黄 | 一区二区三区国产 | 欧美性FREE玩弄少妇 | 大桥未久与黑人中出视频 | 欧美精品高清在线观看 | 99久久国产露脸精品竹菊传煤 | 日韩精品一区二区亚洲AV观看 | 免费国产黄线在线播放 | 亚洲精品在线免费 | 亚洲国产区中文在线观看 | 日日夜夜撸 在线影院 | 亚洲视频在线免费 | 《乳色吐息》无删减版在线观看 | 亚洲中文字幕永久在线全国 | 好男人好资源在线播放 | 玩弄放荡人妻一区二区三区 | 色怕怕| 绝色娇嫩美人妻老师 | 入禽太深在线观看免费高清 |