1. 程式人生 > 其它 >初級程式設計師易踩的 7 大坑!全中!

初級程式設計師易踩的 7 大坑!全中!

英國作家奧斯卡·王爾德曾說過,人們給自己犯過的錯誤取名叫做經驗。因此可想而知,經驗不足的開發人員在程式設計道路上還有很多未曾踩過的坑。

在本文中,我會給你講講一些大多數開發人員都踩過的坑,希望對你有所啟發和幫助,以防止你也重蹈覆轍。

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開發手冊(嵩山版)》最新發布,速速下載!

覺得不錯,別忘了隨手點贊+轉發哦!