程序人生:入門程序員最容易踩的 7 個坑!


   
   
   

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

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

1、重新實現API中已有的代碼

大多數開發人員都會利用某種框架來減輕工作的負擔。對於沒有使用該框架經驗的開發人員來說,掌握框架的API提供的所有功能非常困難。

因此,他們常常會重新實現API中已有的某些代碼。沒有經驗的開發人員更有可能踩這個坑的原因有兩個。

第一,由於缺乏經驗,這些開發人員不瞭解API中有哪些開箱即用的功能。所以他們會白白浪費時間來編寫框架中已有的代碼。由於缺乏經驗,所以他們無法充分地利用框架。

第二,缺乏經驗的開發人員不知道去哪兒找相應的文檔。更有甚者,有人根本不看文檔。

對於沒有經驗的開發人員來說,這是一個大坑,因爲重新創建相同的功能似乎很誘人:有些函數只需重寫幾行代碼即可。另外,重寫這幾行代碼也不需要花費太多時間。

但重寫相同的代碼有一定的弊端:造成代碼庫持有重複且未經測試的代碼;由於新函數的引入,代碼會更加複雜;其他開發人員不熟悉這個函數,而且也不理解你爲什麼要引入這個函數。從整體來看,你的這一舉動增加了複雜性,卻沒有充分的理由。

2、簡單的問題不要複雜化

有時開發人員會遇到力所能及範圍之外的工作。問題在於經驗豐富的開發人員知道何時承認這一點。有經驗的開發人員會設法儘量簡化工作,而沒有經驗的開發人員則很難把握火候,有時會做過頭。

其中一個原因在於,缺乏經驗的開發人員往往急於向團隊的其他成員證明自己。他們會用各種奇怪的手段來實現代碼,比如古怪的單行小程式、過於複雜的抽象等。這會導致技術債務不必要地增加。

這種陷阱會加劇代碼的複雜度。實際上,我們應該儘量保持簡單。Java開發手冊(嵩山版)》推薦看下。經驗豐富的開發人員都會遵循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,不可能出問題。

如果你覺得自己的第一份工作就無所不知,那麼就大錯特錯了。如果你明明什麼都不懂,卻沒有自知之明,那麼纔是真的可悲。這纔是大多數缺乏經驗的開發人員身上最大的問題。

你要學會謙虛,虛心接受建設性的批評。從經驗豐富的開發人員那裏獲取建議,這樣纔有助於自身的成長。有信心是好事,但過猶不及。另外,Java 系列面試題和答案全部整理好了,微信搜索Java技術棧,在後臺發送:面試,可以在線閱讀。

5、僅測試正面測試用例

缺乏經驗的開發人員通常會專心交付功能或用戶故事。這就是所謂的快樂之路。然而,功能或用戶故事需要測試。經驗不足的開發人員和經驗豐富的開發人員在這點上有很大的分歧:沒有經驗的開發人員只會測試用戶應有的操作,而經驗豐富的開發人員也會爲邊緣案例編寫測試。

僅測試正面測試用例是很天真的做法。用戶具有不可預測性,而你需要測試的也不僅僅是正面測試用例。

6、換工具

擁有合適的工具,並熟練的掌握可以爲你的日常工作節省大量時間。你應該花一些時間找到合適的工具。在尋找工具時,你應該選擇能夠實現其承諾的工具。

如果你有合適的工具,那麼就應該堅持使用下去。不要每週都換工具。你需要一定的時間來了解並掌握這些工具。另外,Java 開發工具系列教程全部整理好了,微信搜索Java技術棧,在後臺發送:工具,可以在線閱讀。

另外,你還應該潛心研究某個優秀的IDE,因爲你工作的大部分時間都需要使用IDE。瞭解鍵盤快捷鍵以及如何使用代碼片段,並創建自己的代碼片段可以加快日常工作。

此外,你還應該學習如何調試。選擇帶有某種調試器的IDE,可以方便你查看所有的變量值。這有助於你更好地掌握目前的情況,併爲你節省大量的調試時間。

7、只注重技術,不關注業務

沒有經驗的開發人員還沒有掌握他們的技術棧,因此大多數人都傾向於專心學習技術棧,卻對業務視而不見。爲了成爲技術棧的大師,熟知業務非常重要。你需要明白爲什麼要構建這些功能。

有些開發人員只對工作中的技術方面感興趣。他們不關心那些造就了自己所在崗位的商業或經濟因素。

你究竟是在爲企業創造價值,還是在一些無關緊要的事情上浪費了太多時間?你需要搞清楚這個重要的問題。


IT技術分享社區


個人博客網站:https://programmerblog.xyz


文章推薦 程序員效率:畫流程圖常用的工具 程序員效率:整理常用的在線筆記軟件 遠程辦公:常用的遠程協助軟件,你都知道嗎? 51單片機程序下載、ISP及串口基礎知識 硬件:斷路器、接觸器、繼電器基礎知識






本文分享自微信公衆號 - IT技術分享社區(gh_a27c0758eb03)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。

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