摘要:前言同樣一個功能,可以用很多方法來實現,有時候由于項目時間緊張,導致很多時候只是實現了功能,往往忽視了代碼質量。下面幾種代碼重構方法,以便大家可以寫出更優雅的代碼。
前言
同樣一個功能,可以用很多方法來實現,有時候由于項目時間緊張,導致很多時候只是實現了功能,往往忽視了代碼質量。下面幾種代碼重構方法,以便大家可以寫出更優雅的代碼。
一,提煉函數
var getUserInfo = function(){ ajax( "http:// xxx.com/userInfo", function( data ){ console.log( "userId: " + data.userId ); console.log( "userName: " + data.userName ); console.log( "nickName: " + data.nickName ); }) }) // 重構后 var getUserInfo = function(){ ajax( "http:// xxx.com/userInfo", function( data ){ printDetails( data ); }); }; var printDetails = function( data ){ console.log( "userId: " + data.userId ); console.log( "userName: " + data.userName ); console.log( "nickName: " + data.nickName ); };
二,合并重復的條件片段
var paging = function( currPage ){ if ( currPage <= 0 ){ currPage = 0; jump( currPage ); }else if ( currPage >= totalPage ){ currPage = totalPage; jump( currPage ); }else{ jump( currPage ); } } // 重構后,把重復函數獨立出來 var paging = function( currPage ){ if ( currPage <= 0 ){ currPage = 0; }else if ( currPage >= totalPage ){ currPage = totalPage; } jump( currPage ); };
三,把條件分支語句提煉成函數
var getPrice = function( price ){ var date = new Date(); if ( date.getMonth() >= 6 && date.getMonth() <= 9 ){ return price * 0.8; } return price; }; // 重構后,改成能夠理解的函數 var isSummer = function(){ var date = new Date(); return date.getMonth() >= 6 && date.getMonth() <= 9; }; var getPrice = function( price ){ if ( isSummer() ){ return price * 0.8; } return price; };
四,合理使用循環
五,提前讓函數退出代替嵌套條件分支
點擊更多
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/88546.html
摘要:模塊化是隨著前端技術的發展,前端代碼爆炸式增長后,工程化所采取的必然措施。目前模塊化的思想分為和。特別指出,事件不等同于異步,回調也不等同于異步。將會討論安全的類型檢測惰性載入函數凍結對象定時器等話題。 Vue.js 前后端同構方案之準備篇——代碼優化 目前 Vue.js 的火爆不亞于當初的 React,本人對寫代碼有潔癖,代碼也是藝術。此篇是準備篇,工欲善其事,必先利其器。我們先在代...
摘要:畢竟,我們還將在接下來的開發之旅中使用其他框架開發者編寫的輔助包。缺乏行業標準必然意味著,框架中的這些組件高度耦合。如果你嘗試對這個類進行單元測試,會發現根本不可行。在做單元測試的時候,我們可以很好地模擬數據庫連接,并將其傳入使用。 showImg(https://segmentfault.com/img/remote/1460000014180802); 我為你們準備了一個富有挑戰性...
摘要:格式化安裝插件如果題主認真讀了的的話,應該可以寫出下面的配置了。用來格式化和提示格式錯誤。在編碼過程中提示格式錯誤,養成良好的編碼習慣。 前言 感覺搭建一個舒服的前端開發環境,十分的重要定制化的格式化,編輯器自帶的格式化各種報錯,手動改真的會死人,因此搭建一個編輯器環境必不可少,現在要講的是vscode中如何定制vue vs code的配置文件: showImg(https://seg...
摘要:詳情行人臉識別庫是僅行代碼的人臉識別庫,最小只有。詳情開發大型應用這是根據上發表的演講整理的文章,分享了作者在開發大型應用后的一些心得。詳情每周一同步更新到歡迎 1. Node.js 10 將帶來什么? Node.js 10 的第一個版本將于本周二(4 月 24 日)發布,并將在 10 月份推出 LTS 版本,將帶來哪些更新? N-API,持續 HTTP/2 支持,ECMAScript...
摘要:詳情行人臉識別庫是僅行代碼的人臉識別庫,最小只有。詳情開發大型應用這是根據上發表的演講整理的文章,分享了作者在開發大型應用后的一些心得。詳情每周一同步更新到歡迎 1. Node.js 10 將帶來什么? Node.js 10 的第一個版本將于本周二(4 月 24 日)發布,并將在 10 月份推出 LTS 版本,將帶來哪些更新? N-API,持續 HTTP/2 支持,ECMAScript...
閱讀 2655·2021-11-24 10:44
閱讀 1896·2021-11-22 13:53
閱讀 1907·2021-09-30 09:47
閱讀 3704·2021-09-22 16:00
閱讀 2431·2021-09-08 09:36
閱讀 2312·2019-08-30 15:53
閱讀 2791·2019-08-30 15:48
閱讀 976·2019-08-30 15:44