你見(jiàn)過(guò)最垃圾的代碼長(zhǎng)什么樣?
來(lái)源丨一口Linux
https://mp.weixin.qq.com/s/Lqc8gvJVvAR63FFrk-ESng
19個(gè)人們真正編寫的垃圾代碼片段
其中一個(gè)可能是你寫的。
在某些時(shí)候,它發(fā)生在我們所有人身上。你產(chǎn)生了你并不感到自豪的代碼。這些代碼讓你懷疑,"我怎么會(huì)寫出這樣的東西?"這沒(méi)什么好羞愧的。我們只是人類。有時(shí)候,我們就是沒(méi)有做到最好。
它發(fā)生在我身上,發(fā)生在你身上,但它也發(fā)生在其他開(kāi)發(fā)者身上。我花了點(diǎn)時(shí)間,收集了我能找到的最糟糕的代碼片斷。今天,我將把它們介紹給你們。
然而,我只在一個(gè)條件下這樣做。你必須向我保證你不會(huì)以惡劣的方式對(duì)待他們。記住,在某些時(shí)候,你可能寫過(guò)類似的東西。既然如此,讓我們戴上豁達(dá)的眼鏡,玩一玩。第一篇來(lái)了!
重新造輪子出錯(cuò)了
常規(guī)的布爾類型比較沒(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)作為變量名稱。但你應(yīng)該以這種方式使用它們嗎?請(qǐng)看下面的代碼,自己決定。

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

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

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

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

原始資料
排版是最好的
類型安全的感覺(jué)是很好的。那么如何更好地確保你不會(huì)出現(xiàn)任何類型錯(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è)叛逆者。你必須按自己的方式做事。但我想我們可以同意,這種類型的代碼不應(yīng)該進(jìn)入代碼審查。

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

原始資料
最后的思考
我希望你在看這些例子時(shí)有個(gè)好心情。我當(dāng)然也是如此。歡迎讓我知道你最喜歡的是哪一張。或者如果你有一些可恥的照片要分享,不要害怕在評(píng)論中分享它。
我在瀏覽這些代碼片斷時(shí)感到很愉快。它讓我想起了我早期的日子。在我的職業(yè)生涯中,我寫了一些我并不自豪的代碼片段。但幸運(yùn)的是,沒(méi)有人對(duì)它們進(jìn)行截圖。或者至少我希望如此。
-End-
最近有一些小伙伴,讓我?guī)兔φ乙恍?nbsp;面試題 資料,于是我翻遍了收藏的 5T 資料后,匯總整理出來(lái),可以說(shuō)是程序員面試必備!所有資料都整理到網(wǎng)盤了,歡迎下載!

面試題】即可獲取
