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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

—————END—————
?關(guān)注公眾號(hào):Java后端編程,回復(fù)下面關(guān)鍵字?
要Java學(xué)習(xí)完整路線,回復(fù)??路線?
缺Java入門視頻,回復(fù):?視頻?
要Java面試經(jīng)驗(yàn),回復(fù)??面試?
缺Java項(xiàng)目,回復(fù):?項(xiàng)目?
進(jìn)Java粉絲群:?加群?
PS:如果覺得我的分享不錯(cuò),歡迎大家隨手點(diǎn)贊、在看。
(完) 加我"微信"?獲取一份 最新Java面試題資料 請(qǐng)備注:666,不然不通過~
最近好文
1、必須推薦的一個(gè)后臺(tái)管理系統(tǒng)
最近面試BAT,整理一份面試資料《Java面試BAT通關(guān)手冊(cè)》,覆蓋了Java核心技術(shù)、JVM、Java并發(fā)、SSM、微服務(wù)、數(shù)據(jù)庫、數(shù)據(jù)結(jié)構(gòu)等等。 獲取方式:關(guān)注公眾號(hào)并回復(fù)?java?領(lǐng)取,更多內(nèi)容陸續(xù)奉上。 明天見(??ω??)?
