How To Write Unmaintainable Code - 這篇文章幽默的列出很多方法來編寫非常難維護的源碼,如果做足的話,相信自己隨後亦不知怎作修改。
竟然有專題教人點寫spaghetti code?:crazy:
呢樣唔係每個programmer與生俱來o既本能咩?:lol3:
[quote comment="11537"]竟然有專題教人點寫spaghetti code?:crazy:
呢樣唔係每個programmer與生俱來o既本能咩?:lol3:[/quote]
雖說是本能,但要去到文中描述的極致,就未必人人做得到,單是 Naming 的方法,已經這麼有系統及詳細。:read:
說到 unmaintainable, 還未比得上我公司的強。
一個 function 一千行叫 unmaintainable?我公司有過萬行的 function,goto 多到你唔信!
單字 variables,還要不斷在不同 scope 重複使用同一名字,你都咪話跟得到!
還有不少它沒有發現的,例如沒有 return value,沒有 argument,全部 pass by global values 的 functions、把整個 class 的 valuables 搬出 global,還怕其他 class 見唔到,將幾個 classes 的 code 搬入同一個 cpp file,而不用 #include header 的辦法!
佢D技巧,同我公司比,真係小巫見大巫! d^O^b
:crazy:嘩,這種行徑果然是一山還有一山高,真是佩服佩服。:worship:
但是這樣的話,正常來說應該將它重寫,為什麼還可以繼續留下它?用來獻世麼。
個過萬行 function,是在公司的 core library 內,它最初是由老闆寫下的,也因為它的 unmaitainability,自然沒有人敢動,更不用提重寫了,老闆寫落嘛...
其他有絕技,如果經過我手,都會重寫。不過現實有好多 constrains,時間、人手、人事問題等,都不是全部都能夠改善太多。加上我只轉來這兒半年,能改寫的還不是很多。
其實基於開發者的背景、skillsets、toolsets 等,有些惡習是很難糾正的。他們連根本的 design concept 也沒有,個 language 本身又難 maintain。
所幸的是,我部門的同事,大多也是新來的,對於寫 code 也有熱誠和要求,加上願意學,所以還不難糾正以前的惡習,新的 projects 和 products 不會這個問題。
說起單字的variable,我的同事也試過,就咁dim a as integer, dim b as string都夠膽死!! 加d notation都唔駛死o者!!
鬧佢我又唔想,但叫我照哽以後仲駛出黎行?! 結果婉轉咁叫佢寫過算數 :wrysmile:
Name (required)
Mail (required, will not be published)
Website
竟然有專題教人點寫spaghetti code?:crazy:
呢樣唔係每個programmer與生俱來o既本能咩?:lol3:
[quote comment="11537"]竟然有專題教人點寫spaghetti code?:crazy:
呢樣唔係每個programmer與生俱來o既本能咩?:lol3:[/quote]
雖說是本能,但要去到文中描述的極致,就未必人人做得到,單是 Naming 的方法,已經這麼有系統及詳細。:read:
說到 unmaintainable, 還未比得上我公司的強。
一個 function 一千行叫 unmaintainable?我公司有過萬行的 function,goto 多到你唔信!
單字 variables,還要不斷在不同 scope 重複使用同一名字,你都咪話跟得到!
還有不少它沒有發現的,例如沒有 return value,沒有 argument,全部 pass by global values 的 functions、把整個 class 的 valuables 搬出 global,還怕其他 class 見唔到,將幾個 classes 的 code 搬入同一個 cpp file,而不用 #include header 的辦法!
佢D技巧,同我公司比,真係小巫見大巫! d^O^b
:crazy:嘩,這種行徑果然是一山還有一山高,真是佩服佩服。:worship:
但是這樣的話,正常來說應該將它重寫,為什麼還可以繼續留下它?用來獻世麼。
個過萬行 function,是在公司的 core library 內,它最初是由老闆寫下的,也因為它的 unmaitainability,自然沒有人敢動,更不用提重寫了,老闆寫落嘛...
其他有絕技,如果經過我手,都會重寫。不過現實有好多 constrains,時間、人手、人事問題等,都不是全部都能夠改善太多。加上我只轉來這兒半年,能改寫的還不是很多。
其實基於開發者的背景、skillsets、toolsets 等,有些惡習是很難糾正的。他們連根本的 design concept 也沒有,個 language 本身又難 maintain。
所幸的是,我部門的同事,大多也是新來的,對於寫 code 也有熱誠和要求,加上願意學,所以還不難糾正以前的惡習,新的 projects 和 products 不會這個問題。
說起單字的variable,我的同事也試過,就咁dim a as integer, dim b as string都夠膽死!! 加d notation都唔駛死o者!!
鬧佢我又唔想,但叫我照哽以後仲駛出黎行?! 結果婉轉咁叫佢寫過算數 :wrysmile: