2026年5月23日 星期六

[感言] 系統的千瘡百孔

凡事都有兩面,有好處,自然有壞處;有得,自有失;沒有完美,總有它的限制。

沒有一個程式可以解決所有的問題,沒有一個系統沒有漏洞。它能到達「成熟」的階段,但它永不會完美。之後就是隨著年日總有「老化」的一天,或是世界進步了,或是已經maintain不到了……科技的日新月異,隨著components/dependencies的新version推出,本來work的logic又要隨著新版本而需修改,而往往不是所有東西都能完全實現於新版本中……

而且components/dependencies也有它本來的限制,所以depends on它們的產品也自然帶著它們的不完全。

只是說database(s),隨年日累積,多大的容量也總有一天會遇上爆data不能再寫入的問題,需要operational handling,加大容量作能維持使用得到。

再者,假若系統是由一個群體寫成,一個群體中總有每人的個性喜好,寫出的合成體也總不會完全統一(syntactically, semantically),寫法背後的設計,因著不同角度、理解與分工,也不會完全一致,所以只能看程式員的包容程度,去修改別人/前人遺留的問題,再加以個人的改進/新功能。

就算是one man band,今天的自己與昨天的自己也可以不同了,寫出來的東西又可以一切都被推翻、可以前後不對應……

基於每人寫法、軟硬件的不完全,系統千瘡百孔地運行著。再面對的是修改不正確,以及不斷累積的technical debts,以致會到達「老化」的階段,已經到達極限,無能為力了。

問問AI如何解決/幫助,re-factoring、code reviews、automated scanning、backlogging可能有些果效,但它也只是減慢老化的過程,總有一些地方,人無能為力。

老闆總不喜歡成本花在re-factoring上,因為它(短視地)不賺錢;code reviews需要有能之士,但他們也有他們的時間/能力限制,並不足以完全解決所有問題;使用automated scanning的工具又要在程式以上多花一層功夫才能run得到,而這層功夫又可能會帶來更多的問題;backlogging只是把問題記下,不能解決問題本身……

當然,系統來到「老化」之前,自然有它「年青力壯」的階段,有它曾經的輝煌。這就是一個系統的一生,曾經風光,也總會面對被淘汰的一天。正如人生一樣。

說回AI這回事,theoretically,AI model被train到某個程度,它也會有錯亂至死去的階段,緃然它「輝煌」過。不過「舊嘅唔去,新嘅唔嚟」,新嘅model出現,又多容易呢。

將來(現在)AI寫code的世代,可能re-factoring、code reviews、automated scanning、backlogging也只是一個command的事,天曉得。但又負面一想,要看穿系統漏洞也同樣只是一個command的事,多恐怖呢。

又廢話了一頓,人也需要關機了。

沒有留言:

張貼留言

[感言] 系統的千瘡百孔

凡事都有兩面,有好處,自然有壞處;有得,自有失;沒有完美,總有它的限制。 沒有一個程式可以解決所有的問題,沒有一個系統沒有漏洞。它能到達「成熟」的階段,但它永不會完美。之後就是隨著年日總有「老化」的一天,或是世界進步了,或是已經maintain不到了……科技的日新月異,隨著com...