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