英國作家奧斯卡·王爾德曾說過,人們給自己犯過的錯誤取名叫做經驗,因此可想而知,經驗不足的開發人員在編程道路上還有很多未曾踩過的坑,
在本文中,我會給你講講一些大多數開發人員都踩過的坑,希望對你有所啟發和幫助,以防止你也重蹈覆轍,
1、重新實作API中已有的代碼
大多數開發人員都會利用某種框架來減輕作業的負擔,對于沒有使用該框架經驗的開發人員來說,掌握框架的API提供的所有功能非常困難,
因此,他們常常會重新實作API中已有的某些代碼,沒有經驗的開發人員更有可能踩這個坑的原因有兩個,
第一,由于缺乏經驗,這些開發人員不了解API中有哪些開箱即用的功能,所以他們會白白浪費時間來撰寫框架中已有的代碼,由于缺乏經驗,所以他們無法充分地利用框架,
第二,缺乏經驗的開發人員不知道去哪兒找相應的檔案,
更有甚者,有人根本不看檔案,
對于沒有經驗的開發人員來說,這是一個大坑,因為重新創建相同的功能似乎很誘人:有些函式只需重寫幾行代碼即可,另外,重寫這幾行代碼也不需要花費太多時間,
但重寫相同的代碼有一定的弊端:造成代碼庫持有重復且未經測驗的代碼; 由于新函式的引入,代碼會更加復雜;其他開發人員不熟悉這個函式,而且也不理解你為什么要引入這個函式,從整體來看,你的這一舉動增加了復雜性,卻沒有充分的理由,
2、簡單的問題不要復雜化
有時開發人員會遇到力所能及范圍之外的作業,問題在于經驗豐富的開發人員知道何時承認這一點,有經驗的開發人員會設法盡量簡化作業,而沒有經驗的開發人員則很難把味訓候,有時會做過頭,
其中一個原因在于,缺乏經驗的開發人員往往急于向團隊的其他成員證明自己,他們會用各種奇怪的手段來實作代碼,比如古怪的單行小程式、過于復雜的抽象等,這會導致技術債務不必要地增加,
這種陷阱會加劇代碼的復雜度,實際上,我們應該盡量保持簡單,
經驗豐富的開發人員都會遵循KISS原則:Keep it simple, stupid(保持簡單和愚蠢),換句話來說,“簡單就是
3、悄悄地吞掉錯誤
悄悄地吞掉錯誤是缺乏經驗的開發人員最常犯的一個錯誤,
有一次,一位相對缺乏經驗的開發人員在努力修復一個“查詢無效”的錯誤,該查詢會檢查產品是否仍有庫存,且會回傳一個數值,
SELECT * FROM Products WHERE amountInStock> [數值]
這里會出Bug是因為傳遞給查詢的并非數值,而是一個空值,所以這個查詢看起來就像下面這樣:
SELECT * FROM Products WHERE amountInStock>
這當然會報錯,然而,這位缺乏經驗的開發人員“修復”了這個Bug,方法是將傳遞給查詢的變數轉換成了整數,雖然查詢的語法有效,但這并沒有解決問題,
這位缺乏經驗的開發人員沒有追查問題的根源,而是選擇在最底層“修復”Bug,當然他們完全沒有惡意,
然而,正確地修復這個Bug的方法是,追查為什么會將NULL值傳遞給這個查詢,然后修復,引發這個問題的原因可能是由于提供有關庫存資訊的API出了問題,如果是這種情況,那么可能根本不應該執行查詢,實際問題可能與查詢無法正常作業完全無關,
悄悄地吞掉這個錯誤,只會導致錯誤的真正原因被掩蓋,缺乏經驗的開發人員往往會從語法的角度來“修復Bug”,但這種做法會吞掉實際的錯誤,
4、過度自信
如果你問一個過度自信且缺乏經驗的開發人員,某個任務或用戶故事需要多長時間能做完,他會盡可能地告訴你一個最短的時間,如果你問過度自信的開發人員是否寫了測驗,他會告訴你沒有必要,他會說他的代碼不可能有Bug,不可能出問題,
如果你覺得自己的第一份作業就無所不知,那么就大錯特錯了,如果你明明什么都不懂,卻沒有自知之明,那么才是真的可悲,這才是大多數缺乏經驗的開發人員身上最大的問題,
你要學會謙虛,虛心接受建設性的批評,從經驗豐富的開發人員那里獲取建議,這樣才有助于自身的成長,有信心是好事,但過猶不及,
5、僅測驗正面測驗用例
缺乏經驗的開發人員通常會專心交付功能或用戶故事,這就是所謂的快樂之路,然而,功能或用戶故事需要測驗,經驗不足的開發人員和經驗豐富的開發人員在這點上有很大的分歧:沒有經驗的開發人員只會測驗用戶應有的操作,而經驗豐富的開發人員也會為邊緣案例撰寫測驗,
僅測驗正面測驗用例是很天真的做法,用戶具有不可預測性,而你需要測驗的也不僅僅是正面測驗用例,
6、換工具
擁有合適的工具,并熟練的掌握可以為你的日常作業節省大量時間,你應該花一些時間找到合適的工具,在尋找工具時,你應該選擇能夠實作其承諾的工具,
如果你有合適的工具,那么就應該堅持使用下去,不要每周都換工具,你需要一定的時間來了解并掌握這些工具,
另外,你還應該潛心研究某個優秀的IDE,因為你作業的大部分時間都需要使用IDE,了解鍵盤快捷鍵以及如何使用代碼片段,并創建自己的代碼片段可以加快日常作業,
此外,你還應該學習如何除錯,選擇帶有某種除錯器的IDE,可以方便你查看所有的變數值,這有助于你更好地掌握目前的情況,并為你節省大量的除錯時間,
7、只注重技術,不關注業務
沒有經驗的開發人員還沒有掌握他們的技術堆疊,因此大多數人都傾向于專心學習技術堆疊,卻對業務視而不見,為了成為技術堆疊的大師,熟知業務非常重要,你需要明白為什么要構建這些功能,
有些開發人員只對作業中的技術方面感興趣,他們不關心那些造就了自己所在崗位的商業或經濟因素,
你究竟是在為企業創造價值,還是在一些無關緊要的事情上浪費了太多時間?你需要搞清楚這個重要的問題,
作者 | Daan
譯者 | 彎月,責編 | 伍杏玲
出品 | CSDN(ID:CSDNnews)
原文:https://medium.com/better-programming/the-most-common-pitfalls-for-an-inexperienced-developer-c3636a1b5656
近期熱文推薦:
1.1,000+ 道 Java面試題及答案整理(2021最新版)
2.終于靠開源專案弄到 IntelliJ IDEA 激活碼了,真香!
3.阿里 Mock 工具正式開源,干掉市面上所有 Mock 工具!
4.Spring Cloud 2020.0.0 正式發布,全新顛覆性版本!
5.《Java開發手冊(嵩山版)》最新發布,速速下載!
覺得不錯,別忘了隨手點贊+轉發哦!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/291981.html
標籤:Java
