我想學(xué)習(xí)軟件編程技術(shù)該怎么學(xué)呢?隨著眾多傳統(tǒng)工作面臨失業(yè)的風(fēng)險,編程成為21世紀(jì)必備技能,但是很多人卻抓不住重點,導(dǎo)致耗時費力,甚至無法入門。
初學(xué)編程都需要學(xué)什么?這幾根支柱一定要打牢!

1、基礎(chǔ)優(yōu)先
很多初學(xué)編程的人一上來就學(xué)習(xí)框架,這就好像是把人放在賽車上,教人如何開車。忽視了他們可能會把剎車錯當(dāng)成油門的事實。
作為編程的初學(xué)者,首先需要了解的是編程的基礎(chǔ),在使用別人的代碼之前,需要熟悉基本要素和意義。基礎(chǔ)很重要,在學(xué)會基礎(chǔ)之前,不要貿(mào)然前進。
2、測試驅(qū)動開發(fā)
TDD帶來了很多好處,但這是一個高級主題,對初學(xué)者來說,可能有些艱難。初學(xué)者不應(yīng)該寫測試,相反的,他們應(yīng)該學(xué)習(xí)如何使用測試及如何配合測試。
每一門編程課程都需要大量練習(xí),進行實踐。每當(dāng)你掌握一個模塊或功能之后,都要進行重復(fù)練習(xí)。
3、庫和框架
當(dāng)你花費了很多時間學(xué)習(xí)編程后,就可以了解庫和框架。
跟TDD類似,你應(yīng)該對庫秒殺Redux保持懷疑態(tài)度。一旦了解了庫的作用之后,對框架的重要性自然就能明白。

4、師徒關(guān)系
如果你對編程毫無經(jīng)驗,那自學(xué)就是一個非常不理智的行為。雖然有很多成功的故事,但是卻不得不考慮他們的效率。
在學(xué)習(xí)的時候,最好有一個師父,一開始師父自定的規(guī)則,你可能不太理解。其實這些內(nèi)化的規(guī)則會形成一道安全網(wǎng),如果你迷路了,能保證別人可以安全的帶你返回。
5、激勵與挑戰(zhàn)
師父對徒弟的激勵是非常重要的,同樣的,挑戰(zhàn)也必不可少。非程序員可能會對開發(fā)者每天寫的代碼行數(shù)至少感到驚訝,甚至有時候會刪除代碼,一天下來,又回到了原點。
在編程過程中,總會有各種狀況發(fā)生,比如花費大量時間修復(fù)一些機器怪異的Bug,結(jié)果發(fā)現(xiàn)只是拼寫錯誤。一些工具無法使用,可能僅僅是因為一個庫進行了小型的版本升級,或者因為有人忘記把一個文件添加到git而導(dǎo)致系統(tǒng)崩潰。
生活不是每天都充滿陽光,初學(xué)者需要做好準(zhǔn)備,但也要昂首闊步,抬頭挺胸,才能一路披荊斬棘,實現(xiàn)夢想。