自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Code Review 還是很有必要的!我發(fā)現(xiàn)了幾個代碼小問題!

開發(fā) 前端
很多在判斷對象中的屬性,會有意識地去使用 &&? 判空,這是好習(xí)慣,但是其實如果用 ?. 可選鏈的話,代碼會更加的簡潔。

最近在 Code Review 代碼倉庫的一些提交代碼,發(fā)現(xiàn)了一些代碼問題,同時也多了一些想法,接下來分享給大家。

多用可選鏈

很多在判斷對象中的屬性,會有意識地去使用 && 判空,這是好習(xí)慣,但是其實如果用 ?. 可選鏈的話,代碼會更加的簡潔。

圖片圖片

當(dāng)你不確定函數(shù)是否存在的時候,也可以使用可選鏈。

圖片圖片

多用includes

當(dāng)一個變量需要進(jìn)行多值判斷的時候,很多人會這么去寫。

圖片圖片

但是這么寫,如果條件非常多的時候,寫起來會非常不優(yōu)雅,并且不好維護(hù),想象一下,如果變量 a 改名了,那么,所有三等式子都得改變量名,所以這里其實可以使用 includes 來進(jìn)行優(yōu)化。

圖片圖片

函數(shù)參數(shù)盡量使用對象

很多人在寫一個函數(shù)并定義參數(shù)的時候會這么去做,這么寫很容易有一個問題,那就是中間有一些參數(shù)是可選的時候,就比如中間 b 其實我不想傳的,但由于你這么定義參數(shù)傳入方式,導(dǎo)致我需要傳一個 undefined 進(jìn)行占位。

圖片圖片

所以我建議是函數(shù)參數(shù)盡量使用對象,這樣的話好拓展,并且傳參方式更加靈活,像 b 其實我根本就不用使用占位去傳了。

圖片圖片

魔法變量寫注釋 & 常量命名

魔法變量 是什么呢?我理解就是一些寫死在代碼里的值,比如以下:

圖片圖片

像這樣寫死在代碼里的值,其實可維護(hù)性很差,因為接手的人根本不知道這些值是什么意思,所以這種魔法變量最好是能寫好注釋。

圖片圖片

或者你如果不想注釋,你可以用一個常量保存起來,并且這些常量的命名必須清晰。

圖片圖片

盡量減少副作用

很多人在寫函數(shù)的時候,會經(jīng)常寫一些 副作用,什么是 副作用 呢?其實就是原本不屬于這個函數(shù)該干的事,比如下面代碼:

圖片圖片

上面這個計算函數(shù)其實已經(jīng) 不純 了,因為他有了副作用,所以寫函數(shù)應(yīng)該職責(zé)單一,這樣可復(fù)用性更高

圖片圖片

使用 else if

很多人在進(jìn)行多 if 判斷時,喜歡只使用 if 去判斷,但其實他們不知道這樣是有隱患的。

圖片圖片

有什么隱患呢?請看下面代碼,下面代碼會導(dǎo)致兩個 if 都為真。

圖片圖片

所以有時候得多使用 else if ,就不會有這些隱患啦!

圖片圖片

策略模式

請看下面這段代碼,這樣寫的缺點在于,變量名一改,全部地方都得改,并且后面想要加額外的判斷條件也比較麻煩。

圖片圖片

所以可以使用策略模式。

圖片圖片

當(dāng)有多判斷進(jìn)行方法執(zhí)行的時候,也可以使用策略模式。

圖片圖片

圖片圖片

記得兜底

雖然現(xiàn)在有 TypeScript 的類型提示,但是它并沒有運行時校驗,所以一些場景中一定要記得判斷兜底。

圖片圖片

在進(jìn)行一些復(fù)雜的解析工作的時候,要使用 try...catch 來兜底。

圖片圖片

責(zé)任編輯:武曉燕 來源: 前端之神
相關(guān)推薦

2024-05-20 08:25:55

2024-06-03 11:43:55

2020-04-01 08:40:44

Vue.jsweb開發(fā)

2020-05-18 08:42:23

CSS背景圖像前端開發(fā)

2012-07-05 09:45:02

代碼審查

2021-10-29 11:45:26

Python代碼Python 3.

2021-07-10 07:40:27

Excel數(shù)據(jù)分析大數(shù)據(jù)

2021-04-28 14:31:35

Dubbo接口日志

2013-10-24 09:43:58

代碼代碼審查

2022-04-26 06:43:12

文檔TCPLinux

2022-11-30 09:18:51

JavaMyBatisMQ

2021-05-13 16:34:20

TCP客戶端

2021-04-22 07:47:47

JavaJDKMYSQL

2018-08-16 15:11:47

Code ReviewPPT代碼

2012-09-03 13:41:50

Code Review

2024-04-28 12:47:03

數(shù)據(jù)業(yè)務(wù)

2021-04-26 05:41:32

百度網(wǎng)盤秒傳

2009-08-05 09:59:40

Code Review代碼審查工具

2024-11-05 09:47:08

VGG網(wǎng)絡(luò)模型

2022-10-27 10:33:48

敏捷開發(fā)開發(fā)
點贊
收藏

51CTO技術(shù)棧公眾號