你見(jiàn)過(guò)最垃圾的代碼長(zhǎng)什么樣?(來(lái)長(zhǎng)長(zhǎng)見(jiàn)識(shí))
來(lái)自公眾號(hào):一口Linux
在某些時(shí)候,我們寫(xiě)出了自己并不感到自豪的代碼。這些代碼讓你懷疑,"我怎么會(huì)寫(xiě)出這樣的東西?"其實(shí),這沒(méi)什么好羞愧的。
它發(fā)生在我身上,發(fā)生在你身上,但它也發(fā)生在其他開(kāi)發(fā)者身上。我花了點(diǎn)時(shí)間,收集了我能找到的最糟糕的代碼片斷。
今天,我將把它們介紹給你們。
重新造輪子出錯(cuò)了
常規(guī)的布爾類(lèi)型比較沒(méi)有返回你要找的東西。你應(yīng)該怎么做?答案很簡(jiǎn)單,你自己創(chuàng)建一個(gè)。

?
魔法數(shù)字
看著這幅圖,我不禁要問(wèn)。如果我們改變其中一個(gè)數(shù)字會(huì)發(fā)生什么?可能沒(méi)有什么好事。

至少它被分成了幾條線
從這塊代碼的純粹外觀來(lái)看,我猜測(cè)它是一個(gè)學(xué)校項(xiàng)目。不用說(shuō),我對(duì)這位老師表示慰問(wèn)。

魔鬼也是一種功能
今天,我們將看到isEven函數(shù)的各種實(shí)現(xiàn)。這是我們的第一個(gè)候選人。我想說(shuō)的是,我們已經(jīng)有了一個(gè)好的開(kāi)始。你覺(jué)得怎么樣?

希望有一個(gè)函數(shù)來(lái)獲取字符串的大小
這個(gè)想法在我們的開(kāi)發(fā)者伙伴的腦海中閃過(guò)。他沒(méi)有猶豫一秒鐘。并立即實(shí)施了它。

喚醒內(nèi)在的孩子
雖然聽(tīng)起來(lái)很瘋狂,但你可以使用表情符號(hào)作為變量名稱(chēng)。但你應(yīng)該以這種方式使用它們嗎?請(qǐng)看下面的代碼,自己決定。

到底誰(shuí)在讀提交t信息
如果你有一個(gè)同事反復(fù)使用相同的提交信息。她可能是這樣做的。

如果這些變化中的任何一個(gè)
未來(lái)是不可預(yù)測(cè)的。它可以在一夜之間改變。為了防止這種情況發(fā)生,最好還是多加小心。

購(gòu)買(mǎi)超寬屏顯示器的理由
冗長(zhǎng)的變量名并無(wú)不妥。只要它們有助于提高代碼的可讀性。但有時(shí),我們必須問(wèn)自己?"多長(zhǎng)才算長(zhǎng)?”

天才之舉
這里沒(méi)有什么要補(bǔ)充的。我認(rèn)為這條注釋不言自明。

排版是最好的
類(lèi)型安全的感覺(jué)是很好的。那么如何更好地確保你不會(huì)出現(xiàn)任何類(lèi)型錯(cuò)誤呢?這些家伙,他們想出了這個(gè)辦法。

如果它起作用,它就是起作用
真正要說(shuō)的是什么。只要確保參數(shù)的總和始終是7。而且這個(gè)函數(shù)不會(huì)失敗。

確保它是真正的Bool
多大程度的悲觀才算過(guò)分悲觀?我想說(shuō)這個(gè)人真的很接近。

測(cè)試驅(qū)動(dòng)的最佳開(kāi)發(fā)方式
我們必須為使用單元測(cè)試的做法點(diǎn)贊。但我不禁要問(wèn)。如果測(cè)試是生成隨機(jī)數(shù)字,會(huì)發(fā)生什么?

你敢于擴(kuò)展嗎?
我們都在某些時(shí)候?qū)戇^(guò)復(fù)雜的開(kāi)關(guān)語(yǔ)句。然而,一千行似乎有點(diǎn)太多了。但畢竟有很多鼠標(biāo)的狀態(tài)需要覆蓋。

試用Switch語(yǔ)句
你認(rèn)為未來(lái)的計(jì)劃是要擴(kuò)大這個(gè)Switch嗎?沒(méi)有什么了,只是要相信它。

數(shù)學(xué)是困難的
有時(shí),使用外部幫助并不可恥。實(shí)際上存在的是--甚至是包。你敢猜它每周有多少次下載嗎?它超過(guò)了15萬(wàn)次。

當(dāng)輝煌的想法流淌時(shí)
有時(shí),你只是覺(jué)得自己是個(gè)叛逆者。你必須按自己的方式做事。但我想我們可以同意,這種類(lèi)型的代碼不應(yīng)該進(jìn)入代碼審查。

當(dāng)你是個(gè)碼農(nóng)但你的激情是書(shū)法時(shí)
我嘗試了不同類(lèi)型的字體。但我不得不說(shuō),它從未走到這一步。如果這讓你懷疑 "盜版軟件是這樣寫(xiě)的嗎?" 你并不孤單。

推薦閱讀:
世界的真實(shí)格局分析,地球人類(lèi)社會(huì)底層運(yùn)行原理
不是你需要中臺(tái),而是一名合格的架構(gòu)師(附各大廠中臺(tái)建設(shè)PPT)
億級(jí)(無(wú)限級(jí))并發(fā),沒(méi)那么難
論數(shù)字化轉(zhuǎn)型——轉(zhuǎn)什么,如何轉(zhuǎn)?
企業(yè)10大管理流程圖,數(shù)字化轉(zhuǎn)型從業(yè)者必備!
【中臺(tái)實(shí)踐】華為大數(shù)據(jù)中臺(tái)架構(gòu)分享.pdf
華為如何實(shí)施數(shù)字化轉(zhuǎn)型(附PPT)
超詳細(xì)280頁(yè)Docker實(shí)戰(zhàn)文檔!開(kāi)放下載
