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