1. 程式人生 > 實用技巧 >程式設計誤區準則:“六不“”要堅持,“隨時”“投入”要“記得”

程式設計誤區準則:“六不“”要堅持,“隨時”“投入”要“記得”

有人剛剛開始程式設計生涯時,常常在思考什麼是程式設計的正確方式,但自己無法確定正確答案。不過,我覺得方法不止一種,但其中有些方法並不是很好。這就是筆者想要闡述的。你可能已經發現了方法的重要性,並且想知道如何優化自己的學習過程。那麼,以下這些誤區,你一定要及時避開。

不要執著於學習儘可能多的語言/技術

初學者常常誤以為掌握很多語言和技術會給人留下深刻的印象。雖然的確是這樣,但更重要的是證明你可以應用它們。

通過專案展示不同的程式語言/技術技能是個不錯的主意。它既顯示了你的適應性,也考慮到了程式設計技術不斷變化的本質。但是,如果只專注於學習現有的一切程式語言的語法和操作方法,那就錯了。每當你學習一門新語言或新技術時,一定要加以應用,不要一味地急著去學下一個。

程式設計很像數學,你需要不斷地練習。每當學習一種新工具/技術時,確保你在應用它,並在此過程中建立自己的作品集。在這個過程中,你的程式設計能力將會得到提升,從而提高自己的競爭力,這是雙贏。

不要掩飾工作

確保你在展示自己的作品,並且不僅僅要展示你最好的作品,還要展示你是否能改進不那麼自豪的工作,筆者已經能夠推動多個老專案從平庸到令人印象深刻。有時,我卻會完全忘記它們的存在。因此,建立作品集,首先要瀏覽你過去的專案,看看是否可以整理利用之前的東西,這可以節省很多時間。

其次,學會推銷你的作品。充滿激情地講述你的創作過程,比如你為什麼選擇這個特定的專案,你為什麼以這種方式做,等等。個人風格會讓你的作品更令人難忘。當然,別忘了把作品放在GitHub上。

不要忽視任何設計

好的設計等於好的工程。簡明、高效的編寫不僅使程式碼可重複使用和更易讀,而且會使你建立的任何東西都變得更好。在構建時不應用合適的設計原則最終會導致效能和/或擴充套件性方面的問題。此外,程式碼的設計和優化經常在面試中考到,所以最好儘早養成良好的編碼習慣。

前端/使用者介面/使用者體驗的設計也很重要,這往往決定了你的使用者是否會堅持使用。精心打磨過的前端設計的專案更令人印象深刻,這會使你的工作看起來更完善、更專業。挑選一本關於程式碼設計的好書,學習使用者體驗設計的基本概念,你能開發出更好的產品。

不要只關注編碼

程式設計技術在不斷變化,但它們蘊含的電腦科學概念卻沒有變。學習演算法、數學和電腦科學的概念並不是毫無用處的,即使它們看起來並不能立即見效。這些核心概念會在你的思維過程中發揮作用,通過加強你的電腦科學基礎知識,幫助你成為一名更好的工程師。

事實上,演算法和資料結構的知識經常在面試中被考到。理想情況下,你的目標是在編碼和理論之間取得良好的平衡,進而成為一名全面發展的程式設計師。

不要孤軍奮戰

找一個同樣在自學程式設計的人作為學習夥伴,這對於初學者來說會有很大的不同。你們可以分享進步,也可以從彼此的錯誤中學習。你們還可以在專案上合作,如果分工合作的話,完成工作的時間會縮短。結伴學習的另一個主要優勢是能夠練習結對程式設計和模擬面試,這樣可以幫助彼此認清並改進自己的弱點。

平心而論,這適用於每個領域,但是由於程式設計的內向性,人們很容易忽視合作的價值。即便你覺得自己不需要學習夥伴,請記住,將來在大多數的職業場合會與其他開發人員合作。因此,在團隊環境中正常工作的技能是必不可少的。

雖然軟技能可能對於一名程式設計師來說不是第一位的,但從長遠來看,它們肯定會對你的職業軌跡有所幫助。

不要只為了錢

要因為熱愛而去做。聽起來很殘酷,但程式設計的確不適合所有人。程式設計需要相當多的投入,但它確實有潛力成為前途光明的職業道路。筆者見過很多人在學習的過程中放棄了,那是因為他們一開始就沒有足夠堅定。沒有人希望在自己根本不喜歡的職業中度過一生,它最終會讓人感到不滿足。

隨時記錄

在構建作品集時,請記得不要省略對程式碼進行註解和對專案適當地批註。因為這表明你熟悉行業標準,並且能使你的程式碼流更容易被使用者理解。

高質量的檔案記載還可以突出你的技術寫作能力,讓你脫穎而出。在專業環境中,做記錄通常是工作的一個基本方面,因此從長遠來看,培養這項技能也是有益的。許多工程師經常使用相同的程式碼庫,適當的記錄可以幫助相關人員及時瞭解專案的最新進展。

投入使用前先確定新技術是否符合需求

花時間做些調查,可能有更好的框架或語言適用於你要做的事情。筆者喜歡閱讀文獻,查詢使用上述技術構建的專案,然後再做出選擇。例如,一些庫/框架可能具備滿足需求的函式,而另一些庫/框架可能需要你編寫複雜的程式碼。即使某些技術不夠普及,它們也可以節省大量時間,並可能建立更強大的功能。

總之,在決定使用哪種工具之前先做一些研究。筆者曾見過程式設計師不眠不休地試圖找到一個解決方案,但有時退一步著眼於全域性更有效。如果你的專案比較大,那麼使用你能想到的技術構建較小的模型是一種很好的方法,可以以此評估你的作品是如何結合在一起的,來檢視它們是否符合需要,以及是否在正確的道路上。

記得測試

筆者不僅僅關注專案是否可以執行預期的功能,對於更重要的專案,應該要求更高。如果可能的話,要在多種裝置、作業系統、瀏覽器和每種極端情況下進行測試。一定要做好準備,因為你永遠不知道別人會在什麼情況下評估你的工作。

最好養成單元測試的習慣,並在GitHub上為專案編寫全面的測試套件。這表明你對工作質量非常重視,並且重視零漏洞、穩定的軟體開發。通過這種方式,你還會學到很多模組化的重要性,反過來又有助於提高自己的專業水平。

最後,不要妄想你能攻克所有的人和事。要有切實的期望,樂觀的態度,並保持謙遜。最重要的是,永遠不要停止構建和學習。

另外如果你想更好的提升你的程式設計能力,好好學習C/C++程式設計知識的話!那麼你很幸運~

“點選連結”加入C/C++企鵝圈,這裡還有一些你可能不知道的趣事分享喲。