如何讓你網站的代碼更簡潔

2021-04-01    分類: 網站建設

重構,這個詞在前端這塊讓人想到的更多的是頁面制作(html/css)這塊的工作。然后在前端中還有一塊更重要的地方 —— 那就是代碼的重構;學軟件工程的同學應該會比較清楚。


代碼重構,簡單來講就是把原來的代碼重新構建和編寫,讓代碼更加清晰,提升代碼的復用性和性能等。


下面開始拋磚,希望能為在做代碼重構和對代碼重構有興趣的同學能帶來一些啟發和幫助。


實例:web彈層(dialog/layerbox/logicbox)



代碼一:



這里創建一個對話框(多例)的基本代碼,這里主要做了以下幾件事


1、  如果頁面上找不到為當前id的對話框,則創建一個新的;


2、  設置對話框標題;


3、  設置右上角關閉命令菜單的事件;


4、  設置對話框內容;


5、  設置對話框操作按鈕。


思考:


1、  是否真的需要多例形式的組件;


2、  是否真的需要在右上角加一個關閉命令菜單;


3、  ……


代碼二:




經過之前的實踐,將多例改成單例,這里也去除掉了右上角的關閉按鈕,為了增加其擴展和靈活性,這里采用了事件注入(鉤子)的方式進行回調處理。


對于這次重構后,得到以下改進:


1、  將多例改成單例,降低了對實例的維護,并且更方便的對實例進行管理;


2、  事件機制的改成,減少事件綁定和維護;


3、  將html結構解耦,js代碼不需要關心頁面結構的維護;但是會帶來頁面上的維護工作;


思考:


還有沒有其它更靈活和簡潔一點的方式呢?


代碼三:



上面是最近的一個演進版本,這個是一個公共的邏輯彈層(表單操作等),這里較上一次去調了事件鉤子,直接采用callback傳遞的方式,并采用鏈式的方式進行處理,頁面上調用更加簡單。


調用示例:



較之前相比:


1、不需要先去set對應的事件鉤子;


2、方法分離,各司其職。如:show/hide 只負責其可見性,其它的由對應的方法處理,使接口方法的職責更清晰;


3、頁面結構回歸到了js代碼,考慮多產品的應用場景,減少頁面結構的維護


ok,拋磚結束。


最后一句話,代碼制作無止境,只有更多的思考、重構。讓自己的代碼更具可用性、靈活性。也為團隊降低學習成本。

新聞名稱:如何讓你網站的代碼更簡潔
文章轉載:http://m.kartarina.com/news38/106238.html

成都網站建設公司_創新互聯,為您提供網站制作關鍵詞優化手機網站建設微信公眾號微信小程序定制網站

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都app開發公司
主站蜘蛛池模板: 2024你懂的网站无码内射| AV无码久久久久不卡蜜桃| 2014AV天堂无码一区| 亚洲av无码片在线播放| 久久久久久亚洲精品无码| 亚洲乱码无码永久不卡在线| 亚洲中文字幕无码爆乳app| 中文字幕无码人妻AAA片| 亚洲成a∨人片在无码2023| 免费无码又爽又刺激网站| 无码人妻久久一区二区三区免费丨| 国产成人无码精品久久久免费| 成人免费午夜无码视频| 麻豆亚洲AV永久无码精品久久| 无码人妻久久一区二区三区蜜桃 | 亚洲中文字幕无码爆乳| 特级做A爰片毛片免费看无码| 无码中文字幕av免费放| 曰产无码久久久久久精品 | 精品无码综合一区二区三区| 亚洲成a人片在线观看无码专区| 日韩精品无码久久一区二区三| 在线观看亚洲AV每日更新无码| 青青草无码免费一二三区| 无码日韩精品一区二区三区免费| 中文字幕AV中文字无码亚| 亚洲国产精品无码久久久久久曰| 日韩aⅴ人妻无码一区二区| 久久久久久99av无码免费网站 | 免费无码成人AV在线播放不卡| 曰韩精品无码一区二区三区| 久久午夜无码鲁丝片午夜精品| 免费无遮挡无码视频在线观看| 无码国产69精品久久久久孕妇| 色欲AV无码一区二区三区| heyzo高无码国产精品| 国产精品无码午夜福利| 日韩精品少妇无码受不了| 亚洲精品中文字幕无码AV| 亚洲av无码专区国产不乱码| 极品无码国模国产在线观看|