如何看待很多“屎山”代碼卻異常穩(wěn)定?
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
因?yàn)槭荷讲皇且惶炖傻?,它是很多人多年慢慢拉成的?/span> 每當(dāng)新人在山頂拉軟軟的新屎時(shí),底下的屎已經(jīng)凝固硬化了,強(qiáng)度經(jīng)得起考驗(yàn)。 不怕在山頂拉新屎,就怕在山腳鏟舊屎。 回答二: 它如果不穩(wěn)定,就不叫屎山了,叫垃圾。 屎山之所以叫屎山,是因?yàn)槭罕粔嚎s得非常緊實(shí),就像一座山,你想象一下把屎壓成石頭的密度會(huì)是什么情況?!府惓>o實(shí)的屎」本身就是對(duì)其穩(wěn)定性的形容。而正因?yàn)樗惓>o實(shí),你從山腳撬一塊下來(lái),可不就整個(gè)山都塌了。因?yàn)槟闱玫舻?,可能是屎山的承重柱啊?/span> 畢竟屎山的承重柱,不會(huì)長(zhǎng)得正常的樣子讓你看出來(lái)那是承重柱的。 回答三: 只要封裝做得好,屎山的屎是不會(huì)外溢的。就像化糞池一樣,你別進(jìn)去就沒(méi)事。 = ̄ω ̄= 等真出事了,你才需要找個(gè)敢死隊(duì)穿好防化服進(jìn)去修。 回答四: 因?yàn)槭荷街允旱囊粋€(gè)原因就是為了穩(wěn)定。 每一段你覺(jué)得屎的代碼,都是在Deadline近在咫尺或者客戶的情緒處于崩潰邊緣時(shí)候,程序員犧牲頭發(fā)換來(lái)的解決方案。 回答五: 其實(shí)只是看起來(lái)像屎,那一行行奇葩代碼都是對(duì)現(xiàn)實(shí)和業(yè)務(wù)的妥協(xié)。畢竟大家上班是來(lái)掙錢(qián)的。 回答六: 真有程序員信屎山這種東西呢。 你先搞清楚,你的業(yè)務(wù)能不能穩(wěn)定、高效地運(yùn)行。既然業(yè)務(wù)能穩(wěn)定、高效的運(yùn)行,那就是精準(zhǔn)有效的代碼。 你認(rèn)為的屎山只是不夠優(yōu)雅,但是足夠穩(wěn)定。 看這個(gè)回答的應(yīng)該都是程序員。我就提一個(gè)問(wèn)題。 現(xiàn)在有訂單有10種。你要分別算出他們的比例。這個(gè)問(wèn)題簡(jiǎn)單吧。那么最有趣的地方來(lái)了,你如何保證數(shù)據(jù)準(zhǔn)確的情況下,他們的合是100%。你在四舍五入的情況下,總會(huì)有,合就不一定是100%,可能是100.1%也可能是99.9%。 那么怎么解決這個(gè)問(wèn)題呢,我在這里不說(shuō)。但是這就是堆“屎”的開(kāi)始,你要開(kāi)始為這個(gè)問(wèn)題寫(xiě) if else了。 而這堆”屎“,是真正解決現(xiàn)實(shí)精度問(wèn)題的核心代碼。 所以這類代碼100%不夠優(yōu)雅,但100%足夠穩(wěn)定。 優(yōu)雅美麗的總是bug不斷,因?yàn)槟憧隙](méi)有寫(xiě)足夠的代碼量去處理問(wèn)題。 而“屎山”的底部代碼,是處理完了所有異常情況下非常丑陋但極端可靠的代碼。 你覺(jué)得它丑、臭。只是你看不到代碼穩(wěn)定的美。 只看到虛幻的代碼簡(jiǎn)潔之美。
回答七: 很多程序員的心中,都有一個(gè)理想國(guó)那里,設(shè)計(jì)優(yōu)雅,擴(kuò)充性良好,代碼風(fēng)格統(tǒng)一,單元測(cè)試充分,bug 很少。這就像一個(gè)涉世未深的少女,幻想自己將來(lái)的另一半,一定是年少多金,帥氣無(wú)雙。 然后,現(xiàn)實(shí)中,大家疲于奔命,為了應(yīng)付一個(gè)又一個(gè)業(yè)務(wù)需求,根本來(lái)不及仔細(xì)設(shè)計(jì),能運(yùn)行就阿彌佗佛了這些正常運(yùn)行的代碼,支撐了公司的業(yè)務(wù),也把錢(qián)從用戶的兜里掏出來(lái),一部分成了大家的工資,用于養(yǎng)家糊口然而,這些代碼不僅沒(méi)有得到贊賞,反而被扣上了屎山的名字。 這像不像一個(gè)心存幻想的女人,面對(duì)自己辛辛苦苦賺錢(qián)養(yǎng)家糊口的另一半,還嫌棄他不高不富不帥? 醒醒吧,正如高富帥不是常態(tài),屎山才是正常的代碼。 回答八: 可能很多人都搞錯(cuò)了,屎山并不是bug,屎山是沒(méi)問(wèn)題且不影響程序運(yùn)行的,只是為了方便多寫(xiě)了很多廢話,或者很多沒(méi)必要占的內(nèi)存。比如一條語(yǔ)句能寫(xiě)完的你寫(xiě)了10條,或者可以用局部變量的用成全局變量,用char類型就可以變量用int類型。這些才是屎山代碼,所以屎山不影響代碼穩(wěn)定。 代碼如果不穩(wěn)定,那是寫(xiě)代碼的時(shí)候邏輯不嚴(yán)謹(jǐn),然后純?cè)诤芏郻ug導(dǎo)致的,當(dāng)然就算寫(xiě)代碼很嚴(yán)謹(jǐn),也會(huì)出現(xiàn)很多bug,因?yàn)槿瞬豢赡軙?huì)任何情況下任何可能都能想到的,這算是人大腦的一種系統(tǒng)誤差,可以用嚴(yán)謹(jǐn)減少,但是不能杜絕。 閱讀原文:原文鏈接 該文章在 2025/5/20 9:09:11 編輯過(guò) |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |