助你編程能力「突飛猛進(jìn)」的干貨分享

大數(shù)據(jù)文摘授權(quán)轉(zhuǎn)載自Jack Cui
作者:Jack Cui
正如每個(gè)人都知道的那樣,寫(xiě)更多的代碼是提高編程能力最顯著的方法。
但在有能力寫(xiě)更多的代碼之前,首先要學(xué)會(huì)閱讀別人的優(yōu)秀代碼。
所以,很明顯,提高編程能力,需要經(jīng)歷以下幾個(gè)階段:
不斷地看書(shū)
學(xué)習(xí)優(yōu)秀的開(kāi)源項(xiàng)目
反復(fù)Coding
想要讓編程能力「突飛猛進(jìn)」,像小說(shuō)里擁有「金手指」的主角一樣,一刀999,升級(jí)像坐火箭一樣,不用持續(xù)努力,那顯然是不可能的。
要知道,命運(yùn)所有的饋贈(zèng),早已在暗中標(biāo)好了價(jià)格。
想要提升編程能力,唯有持續(xù)地付出,一切都是由量變到質(zhì)變的積累。
有一些時(shí)間節(jié)點(diǎn),你會(huì)明顯感覺(jué)到自己的編程能力確實(shí)提高了不少,能夠?qū)崿F(xiàn)更多有趣的想法,吸收新知識(shí)的速度也更快了,這就是質(zhì)變的過(guò)程。
明白這個(gè)道理,剩下的就是不斷地努力。
提高編程能力的決心好下,但往往是「三分鐘熱度」,后續(xù)乏力。

除了主觀(guān)因素外,更多時(shí)候是沒(méi)有找到好的學(xué)習(xí)方法。
我一直提倡的是以興趣為出發(fā)點(diǎn)去學(xué)習(xí),有的人喜歡研究底層技術(shù),那就看書(shū)、看源碼。
但更多的人,很難做到一直堅(jiān)持看一些略顯枯燥的理論。
所以,我們需要一些有趣的項(xiàng)目去調(diào)劑。
完成各種有趣好玩的小項(xiàng)目,會(huì)帶來(lái)成就感,而成就感是我們不斷學(xué)習(xí)的動(dòng)力。
下面,我會(huì)介紹幾個(gè)關(guān)于Python和C++的,適合練手的有趣小項(xiàng)目。
如果對(duì)于這些,你仍然提不起興致,那也沒(méi)關(guān)系,自己去GitHub搜索一番,總有一款適合你。
free python games
入門(mén)級(jí)Python游戲集合庫(kù),里面都是簡(jiǎn)單的小游戲。
比如:貪吃蛇、迷宮、Pong、猜字等。用游戲開(kāi)啟的你Python項(xiàng)目之旅,邊學(xué)邊玩,其樂(lè)無(wú)窮。
源碼都在freegames目錄下,每一個(gè)py文件就是一個(gè)游戲,比如snake.py 就是貪吃蛇的源碼。
安裝和運(yùn)行游戲指令如下:
pip?install?freegames
python?-m?freegames.snake?#?freegames.游戲名貪吃蛇游戲效果:

非常推薦新手,運(yùn)行簡(jiǎn)單、代碼少且易讀。
項(xiàng)目地址:
https://github.com/grantjenks/free-python-games
SimpleNES
一個(gè)開(kāi)源的、C++?實(shí)現(xiàn)的任天堂紅白機(jī)模擬器。
超級(jí)瑪麗:

魂斗羅:

相比于“計(jì)算器”、“掃雷”的枯燥無(wú)味,SimpleNES這個(gè)項(xiàng)目是可以支撐商業(yè)級(jí)的應(yīng)用。
無(wú)論你是什么操作系統(tǒng),花幾分鐘編譯好,下載幾個(gè)rom,就能玩上一天,然后忘記了自己學(xué)習(xí)的初衷。
這個(gè)項(xiàng)目代碼很少,20多個(gè)文件,代碼條理清晰,每個(gè)文件幾百行代碼,非常方便學(xué)習(xí)。
項(xiàng)目使用到的有C++11的基本語(yǔ)法和STL庫(kù),非常適合正在啃教材的初學(xué)者。
項(xiàng)目地址:
如果這都不感興趣,那就思考一下自己的興趣點(diǎn)。
然后在網(wǎng)上搜索一番,信息檢索能力非常重要,想要第一手資料,那就自己行動(dòng)起來(lái)。

