從03年開始做程序設計一路走來,總的來說代碼量越寫越少。
剛開始做程序開發的時候,我主要還是做功能實現,負責項目設計的同事把接口寫好,剩下的事情就是寫功能實現。寫功能實現的難度并不大,簡單的說就是把數據按照固定格式處理結束之后,回傳出去就可以了。這期間每天的代碼量都比較大,平均一天下來也能有500行左右。
隨著自己編碼能力的提高,很多代碼的復用會做的比較好,在整體的實現過程中會采用更加簡便的實現方式,也懂得使用模塊化的開發模式,伴隨著這個過程代碼量有一定程度的下降源碼,但是思考的時間變長了,有的時候需要一些時間來做驗證。
在2006年確定了自己的主攻方向之后,代碼量再次下降了。因為工作的中心已經從功能編寫調整到一些框架設計以及算法實現上,這個期間的代碼量一天也就在200行左右,這里面還有不少是在編寫接口。這期間的工作重點是實現算法、做數據分析和建模,這期間還使用了MATLAB,所以在編碼上就下降了不少,但是難度卻提升了很多,有時候完成一個算法的驗證需要一周甚至更長的時間。
2010年之后,我的主攻方向又增加了機器學習和大數據的內容,這時候我每天的代碼量又再次下降了,平均也就是100多行吧。有的時候一天就能寫幾十行代碼,而關于算法的分析、訓練、驗證的時間變得更長了。剛開始使用Java的時候代碼量還能多一些,后來使用Python了,代碼量就下降了很多,目前也在使用Python做算法實現。
其實,做計算機研發源碼,程序設計更像是工具,無論使用什么語言,最終的任務都是實現功能。編碼量的大小跟所處的角色有較大的關系,跟編程水平的高低并沒有太直接的關系。當然,高水平的程序員一定有大量的編碼基礎,這個是毋庸置疑的。