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