“經驗是最嚴厲的老師。它上來就把你考倒,爾后才授教于你。”奧斯卡·王爾德這句話用來形容新手程序員的生活很貼切。程序員要從實踐中學習。在實踐中,你會犯錯誤,但只要你能從錯誤中吸取教訓,就能獲得成長。
來回顧一下吧,你的哪些特征曾“透露”出這是一個新手。
結構混亂的代碼
新手開發人員編寫的代碼常常結構混亂,如果有輕量級結構就已經很不錯了。而造成這點的原因在于他們過于關注代碼的運作,經驗豐富的開發人員知道,作為一名開發者,你還有更多的工作要做。
編寫代碼并使其運作只是開發人員工作的一小部分,新手開發人員卻把它當成了重中之重。隨著經驗的積累,你會意識到你的大部分工作是維護項目,而不是從頭開始構建新項目。意識到這一點之后,你將以完全不同的方式進行編碼。這會使代碼更容易維護,更易于其他開發人員理解。
如果沒有意識到這一點,就會出現函數堪比一篇文章大小的情況。很多問題也隨之而來,例如可測試性。你要如何測試堪比論文的函數,而且它還要實現五個不同的功能?
如果只是想讓代碼運作起來,在大多數情況下,這樣的代碼都是沒有經過深思熟慮的,代碼質量會因此受到影響。這種類型的代碼通常看起來像過程代碼,不遵循諸如單一功能原則這樣的編碼原則。當進入維護階段,你就會意識到代碼質量欠佳會帶來多大的問題。
亂槍除錯
新手開發人員遇到問題時,常常會開始胡亂調試,想到哪里試哪里。在不知道實際問題是什么的情況下,隨機修改代碼中的一些內容,希望瞎貓碰上死耗子,成功解決問題。
很明顯,這在大多數情況下是行不通的,這樣做只會引入更多的bug。開發人員應該做的不是胡亂調試,而是收集有關問題的更多信息。
首先要做的是找出重現問題的方法。在更改代碼之前收集信息是很重要的,這樣就可以了解到底是什么導致了bug。打開日志文件是調試之旅的一個良好開端。看看能否找到一些有用的信息,指引你找到正確的方向。
找到了bug的出處并修復之后還不算完,如果真的想把事情做好,至少應該為修復程序編寫一個測試,以便在未來出現問題的時候得到保護。
過于關注技術
新手開發人員仍在學習技術的階段。因此,他們關注的重點通常是掌握自己的技術棧。這也說得通,因為如果你想成為一個出色的開發人員,就需要掌握相關技術棧。但是開發人員應該關注的不僅僅是技術。
當了解了技術棧的所有細節后,不應該把業務拋在腦后。因為這就是你做這份工作的原因。你是在為公司創造價值,還是在一些與公司無關的事情上花費了太多的時間?這是一個應該一直問自己的重要問題。
作為開發人員,你不能僅僅專注于工作的技術方面,還需要牢記業務和經濟因素才是評判你工作價值的關鍵因素。
做事的差別
團隊工作中的一些小細節也會“暴露”新手開發人員,他們常常喜歡用自己的方式做事,而不是和團隊中的其他人保持一致。有時這種情況是無意中發生的,新手開發人員不能認識到解決方案中的某些模式。
為了與團隊成員統一步調,你可以查看創建好的所有pull請求。不必全部都看,只要確保了解其他開發人員是如何解決某些問題的就可以了。他們的解決方案和你解決問題的方式是否相似?如果不是,問問他們為什么選擇這種解決方案,以及是否考慮過你的解決方案。
別擔心,每個優秀的程序員都是從菜鳥時期走過來的。轉變思路,汲取經驗,你離告別新手期并不太遠。
責編AJX
-
開發
+關注
關注
0文章
370瀏覽量
40836 -
編程
+關注
關注
88文章
3614瀏覽量
93686 -
源代碼
+關注
關注
96文章
2945瀏覽量
66731
發布評論請先 登錄
相關推薦
評論