我到今天才知道,原來我在寫代碼的時候是這樣的狀態

作爲一個軟件開發工程師,寫代碼必然是第一技能。寫代碼,不應該只是一份工作,而是在爲社會創作一件流芳百世的藝術品。藝術創作,就一定會有境界,那麼一個人寫代碼的境界,這兒總結一個簡單的從低到高梯度。

                             

“我的代碼寫完了”

接到任務,便開始和一個生產線上的工人一樣,一行一行的寫,沒有計劃,想到哪寫到哪,什麼代碼風格,算法是不是最優,別人能不能看懂,都不管了。寫完了,編譯通過了,能運行了,告訴老闆,“我的代碼寫完了”,就匆匆交差。質量怎麼樣,那是測試的事情。大不了,有了bugs,再來fix。看着快,反反覆覆,實際上是慢。這是最低層次的境界。

“我的代碼寫好了”

接到任務,首先計劃一下,有幾個模塊,有幾個功能,然後按照規定的代碼風格,一個一個模塊的完成,也會嘗試選擇好的優化算法,會加上註釋以便自己和別人能夠讀懂和維護,寫完後自己會多看幾遍有沒有什麼問題。畢竟人很難一次把事情都搞對,檢查是必不可少的一個環節。編譯的時候,會注意每一個warnings,fix它們。也會自己想幾個測試用例跑跑,感覺沒有問題,就提交,告訴老闆,“我的代碼寫好了”。這個境界高了不少。

“我的代碼能用了”

接到任務,除了按上面的方式來寫代碼。還會在寫代碼的過程,加入各種白盒測試,也就是說,每寫完一個函數,一個功能,會寫一段單元測試,來驗證自己的代碼在各種正常和邊緣情況,都能正確無誤的運行。同時還會注意測試的代碼覆蓋率,也就是說,每一行代碼都會有測試場景跑過。如果是使用了別的服務,會將別的服務mockup起來,讓自己的系統能正確的運行。對於之上的模塊,系統,有集成測試,有迴歸測試。雖然在寫代碼的過程中,加大了工作量,但是這樣的代碼,出錯的概率明顯減少,中間需要的來來回回修復的次數明顯減少,實際上是減少了總的工作量,節約了項目的時間。這是一種負責任的態度,也是一個工程師本應具備的基本素質。這個境界就很高級了。

“我的代碼還在用”

代碼像藝術品,好的藝術品,流芳百世,好的代碼,也應該如此。那麼,工程師對代碼也應該像創作一個藝術品,深思熟慮,精雕細刻,期望它們能夠在產品中永生下去。當你老了的時候,還能驕傲的告訴人們,“我的代碼還在用”。這樣就要求代碼寫的好,寫的質量高,考慮全面,運行效率高,幾乎沒有bugs,而且容易讀懂,容易維護,容易使用,千錘百煉。舉個例子,如果實現一個功能,有不同的算法,會寫代碼實驗不同算法在此場景下的性能,對比優缺點,選擇一個合理高效的算法使用。這樣的工作,除了後人發明了更好的算法,否則是不容易被替換掉的。寫代碼是一門藝術,寫出來的代碼就是一個藝術品。這樣的境界,是每個程序員應該追求的最高目標。

只有心底裏有“對自己的代碼負責”的思維,才能達到最高的境界“我的代碼還在用”。而“對自己的代碼負責”應該是每一個工程師的基本素質。這樣,寫出的代碼,纔有可能成爲一件藝術品,流芳百世。

“What is your legacy?”,代碼,可能會是程序員給社會留下的一份資產。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章