1. 程式人生 > >開發者前期是如何學代碼的(心得)

開發者前期是如何學代碼的(心得)

開發

分類:


  總體大致分為以下幾類:


  A.教材上的知識


  這部分內容來自計算機專業的課程教材。也有可能會涉及一部分來自其他相關專業或者相關課程的內容。


  B.編程語言


  每一個程序員只有在會使用一門語言的情況下才有可能從事開發工作,所以學習並掌握一門語言是最低要求了。


  C.SDK


  光有一門語言是不夠的,從事任何實際的軟件開發都需要一個類庫或者開發包才可以完成。比如C語言中的庫函數,C#中的.NetFramework類庫,Windows的API等等就屬於這個範疇。這方面的資源有個平臺DevStore可以關註下,收錄了很多的sdk服務配置過程評測,直接搜索就可以了。


  D.開發工具


  以如今的情況來說,沒有開發工具理論上也是可以開發軟件的,但效率就是一個問題,所以掌握並使用一個開發工具完成開發任務應該也是一個最低要求。


  E.領域知識


  軟件總有用戶,於是開發這些用戶使用的軟件,那麽程序員就需要了解用戶所在行業的知識,至少需要知道一些基本的必須的知識。還有一部分的內容也劃分為領域知識,比如從事Photoshop這類軟件的開發那麽圖形相關的知識就必須了解一些,從事工控軟件的開發,那麽對控制方面的知識也要有所了解。


  萬事開頭難


  學習寫代碼最難的就是開始。


  試想一下你要學習的第一門編程語言。你首先要了解它的語法和格式。你還得理解值、類型、操作符、控制流、函數、高階函數、作用域、閉包、遞歸等等……


  這就好像是學雜耍——一上來就讓你耍18顆球一樣。


  最早我用了好幾個禮拜才理解了閉包到底是什麽玩意兒。我讀文檔的時候感覺我理解了,當我準備應用一個閉包時,就又不知所措了。


  這是很普遍的,作為一名老師我了解到:想要理解一個新的概念,往往需要你嘗試一次、兩次甚至更多。


  但只要一個人堅持的足夠久,總會有豁然開朗的時候。就像當我讀完了無數有關閉包的博文、StackOverflow和文檔之後的體驗。


  每一段我閱讀過的材料都讓我有了一些新的理解,直到最後我完全理解了閉包。


  理解閉包對我來說意義深遠,因為成就感鼓勵了我繼續前行,後來我甚至自己寫了一篇解讀閉包的博文。


  學習是過程,不是結果


  如果我們把“學習”視作我們必須完成的一件事,我們就會急功近利。這樣我們才能趕快完成好在課余時間去玩玩別的。


  只可惜學海無涯,學無止境。要是你把學習當作一場賽跑,你永遠也到不了終點,反而會帶來失落和失望。


  相反,如果你把學習理解為一種過程,你就能體會和感受到一點一滴的進步,這也將鼓勵你繼續前行。


  學習就好像鍛煉一樣。太劇烈了會受傷,你的傷痛會一直持續,甚至恢復之後你也忘卻不了那種痛苦。以後每次運動的時候你都會記起。除非你每次的痛苦都能得到緩解,你慢慢的習慣和適應了它。最後你獲得了強健的體魄和有型的身材,這也將鼓勵你繼續鍛煉下去


  操作系統需要掌握的東西只有兩個:


  1.五大管理的基本方法,尤其是涉及內存管理的策略


  2.線程或者進程的同步技術


  操作系統是復雜的,但是教材中介紹的這些管理方法相對來說是簡單易懂很多了。這一難一簡之間體現了基本知識的重要性,基本知識在實際開發中的應用的廣泛性。好好的體會,就可以明白用簡單方法解決復雜問題的技巧。線程進程的同步,這個就不用多說了,大家都知道它的作用,如果實在不想掌握的話那我也非常願意相信你的理由一定是充分的,否則你絕對不會那麽做。


  最後我想強調的是,無論你如何看待這些知識:可能覺的沒用,可能覺的太難,可能是不感興趣,但是如果你想做程序員的話,那麽請你務必最大可能牢固,最大可能熟練的掌握它。


開發者前期是如何學代碼的(心得)