筆者剛剛開始編程生涯時,常常在思考什么是編程的正確方式,但我無法確定正確答案。不過,我很快就明白了方法不止一種,但其中有些方法并不是很好。這就是筆者想要闡述的。你可能已經發現了方法的重要性,并且想知道如何優化自己的學習過程。那么,以下這些誤區,你一定要及時避開。
不要執著于學習盡可能多的語言/技術
初學者常常誤以為掌握很多語言和技術會給人留下深刻的印象。雖然的確是這樣,但更重要的是證明你可以應用它們。
通過項目展示不同的編程語言/技術技能是個不錯的主意。它既顯示了你的適應性,也考慮到了編程技術不斷變化的本質。但是,如果只專注于學習現有的一切編程語言的語法和操作方法,那就錯了。每當你學習一門新語言或新技術時,一定要加以應用,不要一味地急著去學下一個。
編程很像數學,你需要不斷地練習。每當學習一種新工具/技術時,確保你在應用它,并在此過程中建立自己的作品集。在這個過程中,你的編程能力將會得到提升,從而提高自己的競爭力,這是雙贏。
投入使用前先確定新技術是否符合需求
花時間做些調查,可能有更好的框架或語言適用于你要做的事情。筆者喜歡閱讀文獻,查找使用上述技術構建的項目,然后再做出選擇。例如,一些庫/框架可能具備滿足需求的函數,而另一些庫/框架可能需要你編寫復雜的代碼。即使某些技術不夠普及,它們也可以節省大量時間,并可能創建更強大的功能。
總之,在決定使用哪種工具之前先做一些研究。筆者曾見過程序員不眠不休地試圖找到一個解決方案,但有時退一步著眼于全局更有效。如果你的項目比較大,那么使用你能想到的技術構建較小的模型是一種很好的方法,可以以此評估你的作品是如何結合在一起的,來查看它們是否符合需要,以及是否在正確的道路上。
不要掩飾工作
確保你在展示自己的作品,并且不僅僅要展示你最好的作品,還要展示你是否能改進不那么自豪的工作,筆者已經能夠推動多個老項目從平庸到令人印象深刻。有時,我卻會完全忘記它們的存在。因此,建立作品集,首先要瀏覽你過去的項目,看看是否可以整理利用之前的東西,這可以節省很多時間。
其次,學會推銷你的作品。充滿激情地講述你的創作過程,比如你為什么選擇這個特定的項目,你為什么以這種方式做,等等。個人風格會讓你的作品更令人難忘。當然,別忘了把作品放在GitHub上。
不要忽視任何設計
好的設計等于好的工程。簡明、高效的編寫不僅使代碼可重復使用和更易讀,而且會使你創建的任何東西都變得更好。在構建時不應用合適的設計原則最終會導致性能和/或擴展性方面的問題。此外,代碼的設計和優化經常在面試中考到,所以最好盡早養成良好的編碼習慣。
前端/用戶界面/用戶體驗的設計也很重要,這往往決定了你的用戶是否會堅持使用。精心打磨過的前端設計的項目更令人印象深刻,這會使你的工作看起來更完善、更專業。挑選一本關于代碼設計的好書,學習用戶體驗設計的基本概念,你能開發出更好的產品。
隨時記錄
在構建作品集時,請記得不要省略對代碼進行注解和對項目適當地批注。因為這表明你熟悉行業標準,并且能使你的代碼流更容易被用戶理解。
高質量的文件記載還可以突出你的技術寫作能力,讓你脫穎而出。在專業環境中,做記錄通常是工作的一個基本方面,因此從長遠來看,培養這項技能也是有益的。許多工程師經常使用相同的代碼庫,適當的記錄可以幫助相關人員及時了解項目的最新進展。
記得測試
筆者不僅僅關注項目是否可以執行預期的功能,對于更重要的項目,應該要求更高。如果可能的話,要在多種設備、操作系統、瀏覽器和每種極端情況下進行測試。一定要做好準備,因為你永遠不知道別人會在什么情況下評估你的工作。
最好養成單元測試的習慣,并在GitHub上為項目編寫全面的測試套件。這表明你對工作質量非常重視,并且重視零漏洞、穩定的軟件開發。通過這種方式,你還會學到很多模塊化的重要性,反過來又有助于提高自己的專業水平。
不要只關注編碼
編程技術在不斷變化,但它們蘊含的計算機科學概念卻沒有變。學習算法、數學和計算機科學的概念并不是毫無用處的,即使它們看起來并不能立即見效。這些核心概念會在你的思維過程中發揮作用,通過加強你的計算機科學基礎知識,幫助你成為一名更好的工程師。
事實上,算法和數據結構的知識經常在面試中被考到。理想情況下,你的目標是在編碼和理論之間取得良好的平衡,進而成為一名全面發展的程序員。
不要孤軍奮戰
找一個同樣在自學編程的人作為學習伙伴,這對于初學者來說會有很大的不同。你們可以分享進步,也可以從彼此的錯誤中學習。你們還可以在項目上合作,如果分工合作的話,完成工作的時間會縮短。結伴學習的另一個主要優勢是能夠練習結對編程和模擬面試,這樣可以幫助彼此認清并改進自己的弱點。
平心而論,這適用于每個領域,但是由于編程的內向性,人們很容易忽視合作的價值。即便你覺得自己不需要學習伙伴,請記住,將來在大多數的職業場合會與其他開發人員合作。因此,在團隊環境中正常工作的技能是必不可少的。
雖然軟技能可能對于一名程序員來說不是第一位的,但從長遠來看,它們肯定會對你的職業軌跡有所幫助。
不要只為了錢
要因為熱愛而去做。聽起來很殘酷,但編程的確不適合所有人。編程需要相當多的投入,但它確實有潛力成為前途光明的職業道路。筆者見過很多人在學習的過程中放棄了,那是因為他們一開始就沒有足夠堅定。沒有人希望在自己根本不喜歡的職業中度過一生,它最終會讓人感到不滿足。
最后,不要妄想你能攻克所有的人和事。要有切實的期望,樂觀的態度,并保持謙遜。最重要的是,永遠不要停止構建和學習。
責編AJX
-
編程
+關注
關注
88文章
3637瀏覽量
93916 -
前端
+關注
關注
1文章
200瀏覽量
17809 -
匯編語言
+關注
關注
14文章
410瀏覽量
35913
發布評論請先 登錄
相關推薦
評論