1.多實(shí)踐基準(zhǔn)API
第一種學(xué)習(xí)方法是進(jìn)行更多實(shí)踐。 僅僅思考是遠(yuǎn)遠(yuǎn)不夠的。 過(guò)分強(qiáng)調(diào)閱讀書籍和觀看視頻以及忽視練習(xí)的結(jié)果是要擁有良好的眼睛和低調(diào)的雙手。 當(dāng)您發(fā)現(xiàn)問(wèn)題時(shí),您認(rèn)為它可以解決問(wèn)題,但無(wú)法實(shí)現(xiàn)。 這是因?yàn)榫幊绦枰_地考慮和實(shí)現(xiàn)每個(gè)細(xì)節(jié)。 如果僅是粗略的理解,就很難實(shí)現(xiàn)學(xué)習(xí)目標(biāo)。
那么我們?nèi)绾尉毩?xí)更多呢? 我應(yīng)該模擬更多的實(shí)戰(zhàn)項(xiàng)目嗎?
情況并非如此。 在早期學(xué)習(xí)中,您不應(yīng)該參與復(fù)雜的實(shí)際項(xiàng)目,而應(yīng)該盡可能多地了解編程語(yǔ)言的能力,例如練習(xí)使用其基本API和使用其擴(kuò)展包的API。 實(shí)際任務(wù)不得包含太多代碼。 最好專注于API并盡可能地了解其用法以及其相應(yīng)抽象模型的內(nèi)部機(jī)制。
有時(shí),API使用起來(lái)非常簡(jiǎn)單,但是它有一個(gè)對(duì)應(yīng)的抽象模型,這不容易理解。 例如,當(dāng)您學(xué)習(xí)JavaScript來(lái)操作網(wǎng)頁(yè)時(shí),您將接觸到許多抽象,例如文檔對(duì)象模型和Flex Box模型。 在這種情況下,建議您首先遵循黑盒規(guī)則,這是為了了解此模型的作用并掌握API。 如何使用它,暫時(shí)忽略其內(nèi)部運(yùn)行機(jī)制,然后將這個(gè)未被理解的問(wèn)題暫時(shí)記在一個(gè)小筆記本上,以備將來(lái)解決。
所以,我們所談?wù)摰氖嵌喾N實(shí)踐,不是實(shí)際的項(xiàng)目實(shí)踐,而是非常精細(xì)的實(shí)踐。 理想的粒度是在單個(gè)API上完成一項(xiàng)實(shí)踐,因?yàn)锳PI本身體現(xiàn)了編程語(yǔ)言或開發(fā)套件設(shè)計(jì)人員的初衷。 2。 問(wèn)問(wèn)自己為什么
第二種學(xué)習(xí)方法是問(wèn)自己為什么在學(xué)習(xí)過(guò)程中,有意識(shí)地設(shè)計(jì)一些挑戰(zhàn)自己的問(wèn)題,這樣就無(wú)法暫時(shí)解決它。記錄問(wèn)題并繼續(xù)學(xué)習(xí)。 問(wèn)題。
第一種問(wèn)題是在學(xué)習(xí)過(guò)程中自發(fā)產(chǎn)生的。 例如,如前所述,您正在學(xué)習(xí)的某個(gè)知識(shí)點(diǎn)可能涉及您以前不了解的另一個(gè)知識(shí)點(diǎn)。 如果那是一個(gè)困難的知識(shí)點(diǎn),那么最好先記錄下來(lái),并且不要打斷當(dāng)前的學(xué)習(xí)思路。
第二類問(wèn)題是自覺(jué)地提出。 例如,當(dāng)您練習(xí)使用API時(shí),請(qǐng)考慮以下問(wèn)題:在什么情況下可以使用此API? 為什么此API需要這些參數(shù)? 該API和以前學(xué)習(xí)過(guò)的API經(jīng)常一起使用?
能夠主動(dòng)向自己提出問(wèn)題是一個(gè)很大的進(jìn)步,這意味著您已經(jīng)真正進(jìn)入了積極思考的狀態(tài)。 3。 設(shè)置層次結(jié)構(gòu)目標(biāo)并繼續(xù)練習(xí)
在練習(xí)API時(shí),我們的目標(biāo)是了解和掌握此API的用法。 最初熟悉編程語(yǔ)言的API之后,可以設(shè)置下一個(gè)目標(biāo)級(jí)別,并嘗試使用已經(jīng)掌握的知識(shí)來(lái)實(shí)現(xiàn)此目標(biāo)。 無(wú)需完成大型程序。 在大多數(shù)情況下,嘗試編寫諸如Snake之類的小型游戲是適當(dāng)?shù)模?/p>
當(dāng)然,這個(gè)分階段的目標(biāo)也與您的最終學(xué)習(xí)目標(biāo)有關(guān)。 例如,如果您學(xué)習(xí)的動(dòng)機(jī)是開發(fā)Web應(yīng)用程序,則嘗試實(shí)現(xiàn)一個(gè)簡(jiǎn)單的圖片共享或博客系統(tǒng)。 如果您的目標(biāo)是人工智能,那么在此階段,您可以嘗試使用神經(jīng)網(wǎng)絡(luò)來(lái)解決文本分類問(wèn)題。 簡(jiǎn)而言之,設(shè)定分級(jí)目標(biāo)是為了激勵(lì)自己前進(jìn),太高或太低都是不好的。 4。 學(xué)習(xí)戰(zhàn)斗
學(xué)習(xí)編程的目的不是學(xué)習(xí),而是開發(fā)有價(jià)值的程序。 因此,全日制學(xué)習(xí)最終將結(jié)束,并且您可能會(huì)專注于繁忙的編程工作。 但這并不意味著您不再需要學(xué)習(xí)。 實(shí)際上,技術(shù)的發(fā)展是極其迅速甚至劇烈的,所以請(qǐng)不要忘記:
保持積極的學(xué)習(xí)態(tài)度和敏銳的好奇心,學(xué)會(huì)戰(zhàn)斗!