javascript - 如果就一行代碼 但是很多地方復(fù)用 這種情況怎么處理呢 封裝成一個(gè)全局方法嗎 還是直接寫?~
問(wèn)題描述
location.assign(’http://www.bing.com’);
假如就是一句跳頁(yè)的代碼 登陸或某某邏輯成功后都要執(zhí)行的 需要封裝成全局方法嗎?就一句真的有必要嗎?
或者說(shuō)充分利用編輯器的全局替換等功能 還能提高點(diǎn)性能 雖然微乎其微~
問(wèn)題解答
回答1:如果沒(méi)有邏輯上的判斷,就一個(gè)跳轉(zhuǎn)地址,就放到常量吧,如果有業(yè)務(wù)的邏輯判斷,就封裝。
回答2:如果是單純的跳轉(zhuǎn)邏輯,那么不用封裝成單獨(dú)的方法,可以講連接放在一個(gè)的常量文件中。因?yàn)槟氵@里說(shuō)了,就一句話邏輯,所以這里不會(huì)有邏輯變化,而可能變化的就是連接地址,為了統(tǒng)一管理,那么就放在單獨(dú)的常量文件中去。
如果這個(gè)跳鏈過(guò)程有自己的邏輯判斷,比如什么條件跳那個(gè)地址這樣。那么就可以封裝成方法,供其他地方調(diào)用。這樣這塊邏輯變化時(shí)只用修改一個(gè)地方。
所以是否封裝,和封裝什么,是根據(jù)可能變化的需求而定的
回答3:上個(gè)項(xiàng)目我是都直接寫了,覺(jué)得并沒(méi)有必要封裝。而且能不能提高性能講道理我是不確定的,我自己沒(méi)比較過(guò)。
回答4:封裝代碼是為了減少代碼的重復(fù),對(duì)于一行代碼,封裝或者不封裝都差不多,因?yàn)槟惴庋b了,引用它也要再寫一段代碼,代碼量也沒(méi)太大變化。
回答5:前提:有這么一段代碼是很多地方都用到的,而且不存在很多每個(gè)地方個(gè)性化的改變
如果是我,我會(huì)放到一個(gè)地方,然后統(tǒng)一從一個(gè)地方調(diào)用(可以是全局,也可以是util之類),目的是為了:
減少以后可能會(huì)有的擴(kuò)展的難度。萬(wàn)一以后發(fā)現(xiàn)需要加更多的東西,那么改起來(lái)方便
減少修改時(shí)的工作量。如果要改href,那么就不需要一個(gè)一個(gè)找去替換,減少出錯(cuò)的可能
便于debug。你可以準(zhǔn)確的知道是從哪里跳轉(zhuǎn)的,而不是很多地方都可能跳轉(zhuǎn)。如果莫名其妙跳轉(zhuǎn),打斷點(diǎn)就直接打到這一個(gè)地方,然后向上找就能找到問(wèn)題所在。而不是需要打很多斷點(diǎn)到不同的地方。
這種簡(jiǎn)單的邏輯,明顯代碼的方便簡(jiǎn)潔的作用遠(yuǎn)遠(yuǎn)大于代碼的性能,所以我不會(huì)考慮性能的問(wèn)題
相關(guān)文章:
1. mysql - redis和mongodb怎么結(jié)合2. button按鈕點(diǎn)擊了沒(méi)有任何反應(yīng)3. error_log 指定不能生存錯(cuò)誤日志的地址4. python - type函數(shù)問(wèn)題5. html5和Flash對(duì)抗是什么情況?6. php安裝lpsolve 擴(kuò)展求助7. 請(qǐng)教各位高手,關(guān)于 PHP取值問(wèn)題8. pbootcms程序的詳情頁(yè)模板想要實(shí)現(xiàn)多版塊展現(xiàn),說(shuō)不清楚,我截圖在里面9. 鏈接圖片時(shí),鏈接不成功10. 老師,樣式?jīng)]有變呀?
