盤點哪些比較糟糕的幾類代碼,谷歌工程師代碼也這樣?

在我們平時寫代碼的時候,經常hi看到一些比較糟糕體驗的代碼,有的很雷人,有的很讓人頭疼,總之這類代碼體驗非常糟糕,我們今天就來列舉一些比較奇葩的代碼分享出來,當然還有其它更多另類的代碼,大家也可以在評論區分享出來啊,共同感受一些這些另類代碼。

盤點哪些比較糟糕的幾類代碼,谷歌工程師代碼也這樣?

1

說起可讀性差的代碼,我想大家最能想到的就是一堆if語句的代碼,如下圖所示,這類代碼一般人看到這麼多語句是會暈倒的,雖然計算機能輕鬆識別,但是人就不行了,畢竟人的腦力是有限的嘛,我想其他人看了也會不適應的,因此要提倡程序員們寫可讀性強的代碼,可讀性,指的是對人可讀性強,機器當然是都能識別的,有的時候為了提高代碼的可能性,也是可以適當的犧牲一點代碼的性能的,畢竟可讀性高的代碼可維護性高,反而能提高工作的效率。

盤點哪些比較糟糕的幾類代碼,谷歌工程師代碼也這樣?

那麼大家猜猜上面這段代碼可能是什麼樣的人寫的呢?我想大家可能會猜是一個新手什麼的,其實我說了可能會領大家感到意外,這端代碼是我從網上扒來的,據說是一個早期的google工程師寫的,可見牛人也可能會寫出比較爛的代碼。大家因此不能忙不崇拜,認為牛人的所有地方就是好的,有人好的地方我們要積極去學習,不好的地方我們還是要去摒棄的。

2

接下來,我們看下面這段代碼,一般系統中一些code碼都是數值,這些數值最終都會賦予一個確切的意義,程序員根據代碼就能知道確切的意義,比如 ON =1; OFF = 0; 這類定義,通過常量名就能準確的知道這個數值表達的意思是什麼,這樣代碼的可讀性就是高的,如果像下面這種定義方式,這種定義基本上是沒什麼意義的,大家說是麼?這樣的代碼的可讀性就不是很高了,因此在定義常量的時候起名是非常講究的,還有就是不要整一些有歧義的單詞,為了更保險,在旁邊加上註釋是更好的習慣了!

盤點哪些比較糟糕的幾類代碼,谷歌工程師代碼也這樣?

3

然後接下來,大家再看下面這一段代碼,文件路徑以絕對路徑的方式寫在代碼中,這是一個比較錯誤的做法,一般優秀的代碼可移植性是特別強的,比如從自己的開發機到線上的測試機,到各個測試環境代碼直接複製過去就能用了,這就說明可移植性比較強的,像下面這段代碼換個地方就會讀取不到配置文件,還要重新調整代碼,這顯然是很不好的做法,因此以後我們寫代碼時不能只是以自己的機器為標準,要考慮代碼在各個平臺下的運行情況。

盤點哪些比較糟糕的幾類代碼,谷歌工程師代碼也這樣?

大家好,我是“上世是朵花”。如果你有什麼好的看法或者觀點可以在評論區展現你的才華,互動交流,如果想進一步瞭解我,那就關注我吧!


分享到:


相關文章: