當你看到一個程序員的兩只手在鍵盤上上下翻飛,行云流水的時候,多半不是在敲擊代碼
大概率是在跟產品經理撕逼討論需求另一種可能就是在跟測試打口水仗
10%幾率是在論壇碼字摸魚或者和人家開噴了。
1%幾率是在跟MM聊天
可以手速飛快而不需要停下思考的代碼,多半也可以靠Ctrl + C/V 搞定。
而當你看到程序員雙目呆滯,遙望天際的時候,多半編程開始了
程序員們都知道的,程序的靈魂是可復制性。可復制性也是軟件開發區別于其他行業的最顯者待點。可復制性有兩層含義。一層是說代碼客戶有多個實例在運行,同樣的程序可以在你的電腦上跑,也可以在別人的電腦上跑。另一則含義就是代碼可以開源,大部分通用需求都有開源代碼可以用。
在敲代碼的過程可以很快,可以基本上不停,但是在實際工作中占比很少。因為前期雜事比較多,會議多,溝通多,討論多。有產品經理,有測試工程師,有PM,有設計師,還有leader,有bug。
在編程過程中,腦子中思考的是各種各樣的邏輯和架構,注重先思后寫。在開發一個較復雜的程序前,會經歷很多步驟,比如畫流程圖,寫文檔,畫架構圖等等,而真正的編碼則是在一切都想清楚以后才會開始進行的。
甚至,高級程序員可以使用編輯器和IDE的自動完成功能,避免手動輸入代碼的錯誤。除了intellisense之外,還有很多其他自動完成功能可以同時啟用。比如自動完成行,自動完成文件路徑,搜索所有打開的文件自動完成詞等等。某些程序員不用這些功能并不等于它們不存在或者不重要。
所以程序員總是在面對新的問題,這也就是為什么大家說敲代碼時間不長的原因,查資料、討論、調試才是真正要花時間的。
練成熟練而快速的敲擊并不是一件很難的事情,也許不到半年就能練成,但是能夠編寫出低耦合高效能的代碼卻是一個程序員畢生的追求。
事實上大部分程序員敲代碼的速度遠小于文員敲鍵盤的速度,或者是打字員敲鍵盤的速度。
所以別被電影中的那些鏡頭給欺騙了。理想很豐滿,現實很殘酷,各位同仁還需多多努力。