成全視頻在線觀看在線播放seo是做什么工作的
您是否曾經(jīng)閱讀過代碼卻發(fā)現(xiàn)很難理解?您可能正在經(jīng)歷認(rèn)知負(fù)荷!
認(rèn)知負(fù)荷是指完成一項任務(wù)所需的腦力勞動量。閱讀代碼時,您必須記住變量值、條件邏輯、循環(huán)索引、數(shù)據(jù)結(jié)構(gòu)狀態(tài)和接口契約等信息。隨著代碼變得更加復(fù)雜,認(rèn)知負(fù)荷也會增加。人們通??梢栽诙唐谟洃浿斜4娑噙_(dá) 5-7 條獨立的信息(來源);涉及更多信息的代碼可能難以理解。?
閱讀您編寫的代碼的其他人的認(rèn)知負(fù)荷通常比您自己的認(rèn)知負(fù)荷更高,因為讀者需要理解您的意圖。想想您閱讀別人的代碼并努力理解其行為的時候。進(jìn)行代碼審查的原因之一是讓審查者檢查代碼的更改是否會造成過多的認(rèn)知負(fù)擔(dān)。善待你的同事:通過編寫干凈的代碼來減少他們的認(rèn)知負(fù)擔(dān)。
減少認(rèn)知負(fù)荷的關(guān)鍵在于簡化代碼,使讀者更容易理解。這是許多代碼健康實踐背后的原則。下面是一些例子:
- 限制函數(shù)或文件中的代碼量。力求代碼足夠簡潔,以便您能在第一時間將整個代碼記在腦子里。盡量減少函數(shù)的數(shù)量,并盡量將每個類的職責(zé)限制在一個范圍內(nèi)。
- 創(chuàng)建抽象來隱藏實現(xiàn)細(xì)節(jié)。函數(shù)和接口等抽象概念可以讓你處理更簡單的概念,隱藏復(fù)雜的細(xì)節(jié)。不過,請記住,過度設(shè)計代碼,使用過多抽象也會造成認(rèn)知負(fù)擔(dān)。
- 簡化控制流。帶有過多 if 語句或循環(huán)的函數(shù)可能難以理解,因為你很難將整個控制流記在腦子里。將復(fù)雜的邏輯隱藏在輔助函數(shù)中,使用提前返回來處理特殊情況,從而減少嵌套。
- 盡量減少可變狀態(tài)。無狀態(tài)代碼更易于理解。例如,盡可能避免可變類字段,并使類型不可變。
- 測試中只包含相關(guān)細(xì)節(jié)。如果測試中包含與測試用例無關(guān)的模板測試數(shù)據(jù),或者相關(guān)測試數(shù)據(jù)被隱藏在輔助函數(shù)中,那么測試就很難理解。
- 不要在測試中過度使用模擬mock。模擬的不當(dāng)使用會導(dǎo)致測試中出現(xiàn)大量調(diào)用,從而暴露被測系統(tǒng)的實現(xiàn)細(xì)節(jié)。
https://www.jdon.com/69722.html