思與行的取捨_風聞
code2Real-有人就有江湖,有code就有bug2022-05-07 08:42
俗話説:知易行難,反之亦然,知難行易。
普通程序員解決一個問題:
1.拍腦袋想三分鐘
2.擼起袖子寫代碼半個小時
3.遇到問題debug一週
4.遇到新的需求,推倒重來,寫兩個小時,debug一週……
高級程序員遇到一個問題:
1. 思考一週,畫設計草稿,寫測試用例,尋找可複用的庫……
2.寫代碼兩個小時
3.debug兩個小時
4. 遇到新的需求,再寫半個小時,debug半個小時……
普通程序員因為受到上面的壓力,沒有足夠的時間去思考,因為上面不願意看到程序員坐那裏思考,更願意看到程序員不停地敲鍵盤。好象生產力是來自於鍵盤,而不是來自於思考和認知。
有一個農民,有一天勞動時中風了,每天只能躺在牀上。
雖然農民不能做事了,但是還能思考和説話。
於是農民有了充足的時間思考,之後向家人交待各種事宜,既然不能種地了,那麼可以考慮通過其它方式賺錢。
上帝關上一扇門的同時,為他打開另一扇門。
兩年後,家裏並沒有因為缺少一個勞動力而陷入經濟困境,反而因為這位農民的思考獲得經濟上的改觀。
因為行動看得見,而且可以考核,所以大家都喜歡行動。
思考看不到,而且難以考核,所以大家不太願意思考。也許思考太多,會引發分析癱瘓症。哈姆雷特就是因為思考太多,而錯失行動的良機。
很少有人去思考:如何讓思考變得可以考核,可以量化,可以持續改進……
這是一個關於思考的思考。
在農耕時代,人們儘可能地壓縮思考時間去行動,畢竟生產力低下,手停口停。
在後工業時代,機器生產的效率已經超出農耕時代的數萬倍。理論上,只要分配公平,大部分人不會餓死。理論上,大部分人可以拿出更多的時間去思考。
但是作為一種傳統或習慣,大部分人還是行動第一,思考第二,先射擊後瞄準。
即使到了需要重視思考的軟件行業,大部分從事者仍然沒有學會思考,留給思考的時間只有幾分鐘,不願意浪費時間寫文檔,畫設計圖,尋找可複用庫。
別以為我閒得沒事會研究歷史,在程序員眼裏,一切都是代碼庫,包括歷史。
有現成的歷史經驗(庫)不用,重新發明歷史(輪子)太費事了,所以程序員是真正的懶人。