天天看點

為什麼小黃鴨調試法在中國行不通

許多程式員都有向他人請教代碼問題或解釋代碼的經曆,而在解釋的過程中,程式員可能就發覺了問題的解決方案,一邊闡述代碼的意圖,一遍觀察代碼實際上産生的行為并調試,一旦有任何不協調的地方就能夠迅速地發現并解決問題。

小黃鴨調試法就是這樣,工作的時候,在電腦旁邊放一隻小黃鴨,耐心地跟它講解每一行代碼的邏輯和意義,以此來激發靈感和發現沖突。

為什麼小黃鴨調試法在中國行不通

可惜,在當今中國的編碼環境中,由于産品疊代周期極短,需求量大、代碼量大,程式員根本沒有時間在産品上線前實施小黃鴨調試。

而這樣就引發了一個問題,代碼沒有經過小黃鴨調試,可能存在許多隐藏的Bug,而在程式員修複這些隐藏的Bugs的時候,可能會引入新的Bug...

為什麼小黃鴨調試法在中國行不通

更糟糕的是,如果修Bug的人不是當初寫Bug的那個人,對整個代碼邏輯和功能邏輯并不一定非常了解,那麼有可能寫出比原有Bug更加嚴重的Bug...

久而久之就形成了負回報,産品功能越來越多,程式員越來越多,代碼越寫越糟糕,最終達到一種狀态:能用就行。

為什麼小黃鴨調試法在中國行不通

那麼為什麼?小黃鴨調試法在中國行不通的本質原因是什麼?

1.“時間就是金錢,效率就是生命”

房價太高,結婚要買房,娃兒要讀書,不急不行。上頭急、組長急、産品急、開發急,大家都急,急急如廁令,廁所都得裝個計時器,哪有時間跟你隻鴨子折騰。

為什麼小黃鴨調試法在中國行不通

2.代碼寫得好,加班少,漲薪真的沒你份兒

大部分開發者的目的都不是寫出最優質的代碼,而是賺最多的錢。為了錢而寫代碼,程式設計不過賺錢的工具,功能寫得越多、錢就越多。

Bug多一點無所謂,畢竟老子寫的功能比Bug多得多,那你小黃鴨調試法還有啥用,不是在拖累我賺錢的速度嗎?

為什麼小黃鴨調試法在中國行不通

3.各種程式設計營銷組織帶壞程式設計風氣

如果你是程式設計教育的細分領域,教量化投資、SaaS程式設計等技術含量高的課程也就算了。問題是一個教Python基礎的課程起這樣的标題是何居心?

為什麼小黃鴨調試法在中國行不通
為什麼小黃鴨調試法在中國行不通

總而言之,小黃鴨調試法的行不通,是因為中國程式員大量的時間(包括加班時間),花在了一些原本可以避免的Bug和可有可無的需求上。

從微觀上看,是對KPI的焦慮、是對生活的擔憂。

從宏觀上看,是公司違法成本低、甚至根本不需要成本。

租下來的辦公樓,多開幾個小時燈就能多出一個新功能,成本近乎于零,沒人用不虧,有人用則賺爆,何樂而不為?

但是許多人沒想過的是,這樣的生産成果,終究會化為垃圾,甚至對于整個産品而言單純隻是拖油瓶。真正長久不衰的功能,往往需要精心打造,而非急功近利。

在當今中國的編碼環境中,我看不到有進行任何科學規劃的團隊,看不到有精心打造軟體産品的公司。

就長期而言,我對中國的軟體業持不看好态度。為了急功近利的眼前效益,程式員生産的代碼品質自然變得極差,就如同前面提到的負回報效應,越往後,品質隻會越來越差。

中國軟體業需要一次改變,大大提高公司的違法成本,打壓急躁、急功近利的心态和風氣。這樣,優秀的産品才會慢慢地孵化出來。