chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

學(xué)習(xí)編程需要克服那些難關(guān)

Wildesbeast ? 來(lái)源:今日頭條 ? 作者:C語(yǔ)言編程學(xué)習(xí) ? 2020-02-04 12:32 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

作為一個(gè)C/C++軟件開(kāi)發(fā)的老程序員,我看到過(guò)很多新手程序員滿懷熱情投入到學(xué)習(xí)中來(lái),卻總是處處碰壁。大多數(shù)學(xué)習(xí)者同樣碰到過(guò)相同的障礙,但是,一旦克服了這些壁壘,那么好處立馬就來(lái):

(1)更享受學(xué)習(xí)經(jīng)歷

(2)進(jìn)步更快

(3)碰到難題更執(zhí)著,不輕言放棄

(4)寫代碼時(shí)更獨(dú)立

那么,這些障礙究竟是什么呢,我們又該如何攻克它們?我們一起往下看:

1、不知道從什么技術(shù)入手

很多人會(huì)問(wèn):“我應(yīng)該先學(xué)什么編程語(yǔ)言?”之所以會(huì)提出這個(gè)問(wèn)題,是因?yàn)樗麄儾恢雷约簽槭裁匆獙W(xué)習(xí)代碼。

一旦你下定決心去完成一個(gè)特定的項(xiàng)目,那么從什么語(yǔ)言入手這個(gè)問(wèn)題就變成一件很容易的事情:

如果你想構(gòu)建iOS app,那么你需要學(xué)習(xí)Objective C或Swift。

如果你想構(gòu)建Android app,那么你需要學(xué)習(xí)Java

如果你想構(gòu)建Web app,那么你需要學(xué)習(xí)JavaScript。

其實(shí)現(xiàn)在我們可以使用JavaScript來(lái)創(chuàng)建任何類型的項(xiàng)目——無(wú)論是簡(jiǎn)單的web和移動(dòng)app,還是高級(jí)的硬件項(xiàng)目。大多數(shù)行業(yè)中都有它的身影:音樂(lè)、醫(yī)療、游戲、時(shí)裝。這種語(yǔ)言非常值得學(xué)習(xí)。

如果你還是不能確定要選擇哪種語(yǔ)言,那么不妨咨詢下某個(gè)程序員的意見(jiàn)。只要你確定要構(gòu)建什么項(xiàng)目,那么他就能很快地為你推薦適合你使用的技術(shù)。

另外,知識(shí)都是相通的,所以,不要過(guò)于拘謹(jǐn),選擇語(yǔ)言這一步驟幾乎沒(méi)什么風(fēng)險(xiǎn)。

2、不正確的學(xué)習(xí)動(dòng)機(jī)

在談及壁壘之前,我想先著重說(shuō)明學(xué)習(xí)動(dòng)機(jī)的重要性。不要只是為了編程而學(xué)編程,也不要因?yàn)槁?tīng)說(shuō)它很酷,很劃得來(lái)就來(lái)學(xué)編程。

你得因?yàn)橐鉀Q問(wèn)題而學(xué)習(xí)編程,你得因?yàn)橄胍詣?dòng)化和改善生活而學(xué)習(xí)編程,你得因?yàn)橄胍獦?gòu)建應(yīng)用程序以造福社會(huì)來(lái)學(xué)習(xí)編程。

如果你只是喜歡編程,并希望以此作為職業(yè)的話,那么在之后的學(xué)習(xí)過(guò)程中,你可能會(huì)有一種強(qiáng)烈的沖動(dòng)想要放棄。這通常發(fā)生在事情變得艱難,學(xué)習(xí)體驗(yàn)變得痛苦的情況下。這時(shí)你會(huì)告訴自己,你不喜歡編程了,編程操作不適合你,覺(jué)得自己天生就成不了程序員。

這就是為什么你應(yīng)該考慮圍繞著完成項(xiàng)目設(shè)置目標(biāo)的原因。如果你的心里有計(jì)劃,或者你想要解決更高層次的問(wèn)題,那么你可以對(duì)自己說(shuō):“這可能不是一次愉快的經(jīng)歷,但是我真的想要解決這個(gè)大問(wèn)題,所以我一定要克服這個(gè)障礙?!?/p>

3、不能學(xué)以致用,以及責(zé)備自己

選擇好技術(shù)堆棧之后,剛開(kāi)始學(xué)習(xí)理論總是很輕松的,而且網(wǎng)上也有許許多多免費(fèi)和付費(fèi)的在線課程。

很快大多數(shù)學(xué)習(xí)者掌握了理論知識(shí),甚至完全可以自己來(lái)解釋某個(gè)代碼片段的工作原理。理論只是概念的有限集合。任何人都可以在幾天之內(nèi)記住它,如果她/他真的想的話。那么,關(guān)鍵的問(wèn)題是什么?

學(xué)習(xí)者碰到的最大問(wèn)題在于,實(shí)際應(yīng)用理論來(lái)解決問(wèn)題并編寫新代碼的時(shí)候。這中間的差距實(shí)際上就是技能空白。

比如說(shuō)游泳。你可以閱讀大量的技術(shù)文章,然后解釋得就像一個(gè)專業(yè)教練。但是,要想實(shí)際應(yīng)用這些理論,就需要大量的實(shí)踐、斗爭(zhēng)和錯(cuò)誤——你肯定會(huì)吞下大量的水!

然而更糟糕的是你開(kāi)始責(zé)備自己。或者認(rèn)為自己不夠聰明,或者覺(jué)得自己沒(méi)有天賦。這其實(shí)跟聰明天賦沒(méi)有關(guān)系,你只是需要練習(xí)技能的過(guò)程:

1.選擇一個(gè)復(fù)雜的項(xiàng)目。理想情況下,這項(xiàng)目得能夠激發(fā)你的興趣。

2.將這個(gè)任務(wù)分割成既小又獨(dú)立的任務(wù)。例如,“實(shí)現(xiàn)登錄頁(yè)面”是一個(gè)很大的任務(wù)。解決一個(gè)任務(wù)不應(yīng)該超過(guò)20行左右的代碼。下面這些提示有助于成功做到這一點(diǎn):

如果你不能解決這個(gè)任務(wù),那么進(jìn)一步將它分割成更小的任務(wù)。

一個(gè)任務(wù)一次不應(yīng)該使用太多的理論概念。

3.一次專注一項(xiàng)任務(wù),而不是并行解決多任務(wù)。不要跳到下一個(gè)任務(wù),除非你已經(jīng)徹底測(cè)試過(guò)當(dāng)前任務(wù),并確信沒(méi)有問(wèn)題。

如果你不這么做,而此時(shí)應(yīng)用程序又出現(xiàn)了問(wèn)題,那么你就不知道你正在并行解決的多任務(wù)中到底是哪個(gè)出了問(wèn)題,尋找起來(lái)就麻煩多了。

4.確保自己在開(kāi)始任務(wù)之前知道所有必要的理論知識(shí)。有時(shí)候,你可能不知道需要學(xué)習(xí)什么理論,這很正常,所以你需要向他人尋求幫助:程序員朋友,導(dǎo)師,或類似StackOverflow的社區(qū)。

5.最后,你解決了任務(wù)。在解決任務(wù)的過(guò)程中,你可能會(huì)碰到很多問(wèn)題,你需要做的就是吸取教訓(xùn),這也是下面要說(shuō)的點(diǎn)。

4、不吸取解決任務(wù)中獲得的經(jīng)驗(yàn)教訓(xùn)

最好的情況是,你解決了任務(wù)并且結(jié)果證明非常有效。此時(shí),很多人往往就直接開(kāi)展下一個(gè)任務(wù)。但是如果你這樣做的話,那么你浪費(fèi)了一個(gè)絕佳的學(xué)習(xí)機(jī)會(huì)。

希望你能夠用以下問(wèn)題來(lái)挑戰(zhàn)自我,幫助自己成長(zhǎng):

哪些邊界情況會(huì)導(dǎo)致我的代碼失?。考词宫F(xiàn)在還沒(méi)有失敗,有哪些應(yīng)用程序狀態(tài)可能會(huì)破壞代碼?

我的代碼是否足夠整潔?對(duì)其他開(kāi)發(fā)人員,甚至是自己而言,代碼是否易于理解和改變?因?yàn)橐院罂赡苄枰迯?fù)隱藏在這段代碼中的問(wèn)題,或者根據(jù)其他產(chǎn)品規(guī)格改變代碼。

我的方法是最好的嗎?有沒(méi)有其他選項(xiàng)是我可以選擇使用的?各個(gè)方案的利弊?這任務(wù)是否值得用不同的方式解決?

此模塊與其他模塊是如何交互的?是否會(huì)對(duì)其他模塊造成負(fù)面影響?是否容易被其他模塊影響?

然而,很多時(shí)候,你會(huì)進(jìn)退維谷。

5、你不知道如何處理一個(gè)任務(wù)

你不知道從哪里開(kāi)始?你可能會(huì)隨機(jī)地去嘗試,或者從其他地方復(fù)制一些你自己也不明白的代碼。但是,這是沒(méi)有幫助的。即使你復(fù)制來(lái)的代碼有效也沒(méi)用。因?yàn)楫?dāng)你今后再一次碰到類似的任務(wù),你依然不能解決。

如果你想妥善解決任務(wù),那么首先你得知道你為什么卡殼。下面是一些可能的原因:

1.沒(méi)有很好地掌握這些理論知識(shí):

語(yǔ)言語(yǔ)法

庫(kù)或API的工作原理,某個(gè)具體方法或類的工作原理

編程范式(例如:異步編程)

系統(tǒng)運(yùn)作(例如:HTTP請(qǐng)求是理解Web開(kāi)發(fā)的關(guān)鍵)

如果是上述情況,那么可以去復(fù)習(xí)理論知識(shí),如果依然摸不著頭腦,也可以去找人尋求幫助。

2.任務(wù)太大了,那就分解為一個(gè)個(gè)小任務(wù)。

3.也有可能是因?yàn)槟阕x得太快,忽略了一些你以為熟悉其實(shí)似是而非的概念,所以無(wú)法理解任務(wù)要求。

6、你知道如何解決任務(wù),但解決方案不管用

這是編程中最常見(jiàn)的情況,哪怕是那些經(jīng)驗(yàn)豐富的資深程序員也是如此。你的解決方案之所以不起作用最大的可能是你的代碼中存在著bug。

如何修復(fù)?方法是調(diào)試代碼。這也是作為一個(gè)程序員需要學(xué)習(xí)的最重要的技能之一。這不是可以隨便湊合的事,也不是玩幸運(yùn)猜猜猜游戲。如何尋找bug是有具體步驟的。而且很多書(shū)中都有教這個(gè)技能。

不幸的是,這是很多新手程序員失去動(dòng)力選擇放棄的難關(guān)。很少有課程會(huì)說(shuō)明調(diào)試的重要性。如果你不知道如何正確地調(diào)試,那么它就是不可戰(zhàn)勝無(wú)法攻克的難關(guān)。

很多人擔(dān)心會(huì)花太多時(shí)間用于調(diào)試代碼。這是正常的,在你第一年的編程規(guī)劃中這是不可避免的。

甚至,你還得學(xué)著去喜歡調(diào)試。不妨將此看成是一個(gè)機(jī)會(huì),一個(gè)修復(fù)錯(cuò)誤提高編程能力的機(jī)會(huì)。當(dāng)你解決了一個(gè)bug,可以問(wèn)問(wèn)自己這個(gè)問(wèn)題:“我為什么會(huì)犯這種錯(cuò)誤?以后我該如何預(yù)防再犯?”

還有一個(gè)好主意是將找到的bug寫成編程日記,方便你總結(jié)和學(xué)習(xí)。

7、不知道如何接受幫助

當(dāng)我們?cè)趯W(xué)習(xí)代碼,或調(diào)試代碼時(shí),可以咨詢很多材料:書(shū)籍、課程、教程、導(dǎo)師,開(kāi)發(fā)者社區(qū)等等。

在你學(xué)習(xí)這些資源時(shí)最常見(jiàn)的問(wèn)題是,你并沒(méi)有完全了解幕后發(fā)生了什么事情,也不知道概念是如何融入到更大的藍(lán)圖中的。

例如:你在某個(gè)問(wèn)題上花了10小時(shí),最后終于有人提供一個(gè)解決方案,你往往會(huì)采取“拿來(lái)主義”——采納解決方案之后就直接跳到一個(gè)任務(wù)中去。千萬(wàn)別這樣做!相反:

思考自己之前的思維過(guò)程。問(wèn)問(wèn)自己,做錯(cuò)了什么,對(duì)于這個(gè)特定的解決方案有哪些是值得你先前的思路借鑒和改進(jìn)的地方。

詢問(wèn)他人的思維過(guò)程。她/他是如何解決的呢?向?qū)Ψ綄W(xué)習(xí),吸取經(jīng)驗(yàn)。

這也是在StackOverflow和谷歌上搜答案的一大缺點(diǎn):你只知道解決方案,不知道幕后的思考過(guò)程。

8、不去應(yīng)用你學(xué)到的理論

這篇文章也是理論知識(shí),除非你能夠?qū)W以致用,否則它是不會(huì)發(fā)揮一絲一毫作用的——多多應(yīng)用,直到它變成潛意思的例行程序。

編程其實(shí)就是通過(guò)形成良好的習(xí)慣來(lái)幫助你解決各種問(wèn)題的過(guò)程。

所以說(shuō),想要在程序員生涯內(nèi)有更高的成就的話,最最重要的是盡可能的提升自己的編程能力,并且,與其想著怎么去提升,不如從現(xiàn)在開(kāi)始動(dòng)手動(dòng)腦,如果對(duì)于C/C++感興趣的話,可以關(guān)注+私信小編【編程交流】有一些視頻希望可以幫助到你,學(xué)習(xí)不怕從零開(kāi)始,就怕從不開(kāi)始。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Web
    Web
    +關(guān)注

    關(guān)注

    2

    文章

    1303

    瀏覽量

    73958
  • HTTP
    +關(guān)注

    關(guān)注

    0

    文章

    534

    瀏覽量

    35034
  • C++
    C++
    +關(guān)注

    關(guān)注

    22

    文章

    2123

    瀏覽量

    76873
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    學(xué)習(xí)單片機(jī)快速方法

    那么多錢去養(yǎng)那些優(yōu)化代碼的程序員還不如買一套新的硬件。我現(xiàn)在也是用C語(yǔ)言編程的。 匯編幾乎不用。知道怎么使用開(kāi)發(fā)軟件之后,你就可以按照學(xué)習(xí)板的教程進(jìn)行編程練習(xí)。練習(xí)要分模塊進(jìn)行,比如
    發(fā)表于 01-14 07:42

    學(xué)習(xí)RTOS的意義?

    對(duì)于嵌入式軟件工程師,學(xué)習(xí)RTOS非常有必要。 1. 項(xiàng)目需要 隨著產(chǎn)品要實(shí)現(xiàn)的功能越來(lái)越多,單純的裸機(jī)系統(tǒng)已經(jīng)不能完美地解決問(wèn)題,反而會(huì)使編程變得更加復(fù)雜,如果想降低編程的難度,就
    發(fā)表于 11-27 08:16

    如何在機(jī)器視覺(jué)中部署深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)

    人士而言往往難以理解,人們也常常誤以為需要扎實(shí)的編程技能才能真正掌握并合理使用這項(xiàng)技術(shù)。事實(shí)上,這種印象忽視了該技術(shù)為機(jī)器視覺(jué)(乃至生產(chǎn)自動(dòng)化)帶來(lái)的潛力,因?yàn)樯疃?b class='flag-5'>學(xué)習(xí)并非只屬于計(jì)算機(jī)科學(xué)家或程序員。 從頭開(kāi)始:什么
    的頭像 發(fā)表于 09-10 17:38 ?804次閱讀
    如何在機(jī)器視覺(jué)中部署深度<b class='flag-5'>學(xué)習(xí)</b>神經(jīng)網(wǎng)絡(luò)

    選擇身份核驗(yàn)終端硬件設(shè)備,你需要避開(kāi)那些坑?

    假如你是一個(gè)安防軟硬件方案集成商,需要采購(gòu)一批身份核驗(yàn)終端硬件設(shè)備進(jìn)行集成開(kāi)發(fā),功能包括人臉識(shí)別、掃碼識(shí)別和刷卡識(shí)別,最好能支持國(guó)產(chǎn)系統(tǒng),在選擇硬件合作商時(shí)需要注意什么,又需要避開(kāi)哪些坑呢?以下
    的頭像 發(fā)表于 09-02 10:23 ?587次閱讀
    選擇身份核驗(yàn)終端硬件設(shè)備,你<b class='flag-5'>需要</b>避開(kāi)<b class='flag-5'>那些</b>坑?

    使用 ICP 編程工具編程時(shí),用戶在啟用后是否需要在程序中初始化看門狗?

    使用ICP編程工具進(jìn)行編程時(shí),用戶在配置位設(shè)置中啟用“看門狗”選項(xiàng)后,是否需要在程序中初始化看門狗?用戶是否需要清除超時(shí)標(biāo)志?
    發(fā)表于 08-28 06:48

    開(kāi)發(fā)單片機(jī)需要學(xué)習(xí)什么?軟件編程的 4 個(gè)關(guān)鍵層次

    ? ? ? ? ? ? ? ? ? ? 開(kāi)發(fā)單片機(jī)需要學(xué)習(xí)什么?軟件編程的 4 個(gè)關(guān)鍵層次 單片機(jī)的 “智能” 全靠軟件實(shí)現(xiàn),編程技能需從基礎(chǔ)語(yǔ)法逐步進(jìn)階到復(fù)雜邏輯,每個(gè)層次對(duì)應(yīng)不同的
    的頭像 發(fā)表于 08-25 11:32 ?734次閱讀

    盤點(diǎn)嵌入式就業(yè)所需要的技能有哪些?

    良好的溝通能力和團(tuán)隊(duì)合作精神,能夠與不同領(lǐng)域的工程師協(xié)作。 綜上所述,嵌入式行業(yè)的就業(yè)方向豐富多樣,不同行業(yè)對(duì)嵌入式技術(shù)的需求也各有側(cè)重。因此,嵌入式工程師需要根據(jù)不同的就業(yè)方向,學(xué)習(xí)和掌握相關(guān)的技能
    發(fā)表于 08-11 15:43

    請(qǐng)問(wèn)VG710都有那些外置接口?

    VG710都有那些外置接口?
    發(fā)表于 08-06 06:50

    零基礎(chǔ)學(xué)習(xí)LuatOS編程:快速上手開(kāi)發(fā)實(shí)戰(zhàn)教程!

    無(wú)論你是剛接觸物聯(lián)網(wǎng)編程的新手,還是希望拓展技能的技術(shù)愛(ài)好者,本教程將為零基礎(chǔ)的讀者提供一條清晰的LuatOS學(xué)習(xí)路徑。從安裝開(kāi)發(fā)工具到編寫第一個(gè)程序,我們將通過(guò)實(shí)例講解核心概念,助你快速實(shí)現(xiàn)從理論
    的頭像 發(fā)表于 06-13 17:27 ?535次閱讀
    零基礎(chǔ)<b class='flag-5'>學(xué)習(xí)</b>LuatOS<b class='flag-5'>編程</b>:快速上手開(kāi)發(fā)實(shí)戰(zhàn)教程!

    通信剛需,AI聯(lián)手ethernet/ip轉(zhuǎn)profinet網(wǎng)關(guān)打通工業(yè)技術(shù)難關(guān)

    比以往任何時(shí)候都更需要以更少的投入實(shí)現(xiàn)更高的產(chǎn)出。 盡管存在這些需求,生產(chǎn)和流程問(wèn)題往往得不到解決或僅得到部分解決,導(dǎo)致產(chǎn)量和生產(chǎn)力損失。面對(duì)這些挑戰(zhàn),我們可以探索數(shù)字化替代方案,幫助我們克服流程障礙,并駕馭日益復(fù)
    的頭像 發(fā)表于 06-05 18:07 ?390次閱讀
    通信剛需,AI聯(lián)手ethernet/ip轉(zhuǎn)profinet網(wǎng)關(guān)打通工業(yè)技術(shù)<b class='flag-5'>難關(guān)</b>

    如何克服電路板元件引腳焊接的缺陷

    克服電路板元件引腳焊接的缺陷,松盛光電提供一種既易于操作,又不會(huì)使產(chǎn)品產(chǎn)生品質(zhì)問(wèn)題,且成本較低的自動(dòng)化激光焊接方法。
    的頭像 發(fā)表于 05-14 15:23 ?1003次閱讀
    如何<b class='flag-5'>克服</b>電路板元件引腳焊接的缺陷

    使用NXP控制器LPC55S69JBD100E,編程需要SWD和JTAG嗎?

    1. 在我們的項(xiàng)目中,我們使用 NXP 控制器LPC55S69JBD100E。編程需要 SWD 和 JTAG 嗎? 2. 您能解釋一下 Flash 編程嗎?
    發(fā)表于 03-27 07:23

    用了TOUCH編程需要再用CUBE-IDE處理嗎?

    如題 用了TOUCH編程需要再用CUBE-IDE處理嗎? TOUCH 僅僅只有在線版嗎
    發(fā)表于 03-10 06:19

    光伏電站智能運(yùn)維系統(tǒng)解決電站運(yùn)維的那些頭疼事

    光伏電站智能運(yùn)維系統(tǒng)解決電站運(yùn)維的那些頭疼事 在廣袤的戈壁灘上,一排排深藍(lán)色的光伏板像沉默的巨人,將陽(yáng)光轉(zhuǎn)化為清潔電力。但您知道嗎?這些看似躺著就能賺錢的設(shè)備,其實(shí)需要像照顧孩子一樣細(xì)心呵護(hù)。傳統(tǒng)運(yùn)
    的頭像 發(fā)表于 02-27 16:12 ?706次閱讀
    光伏電站智能運(yùn)維系統(tǒng)解決電站運(yùn)維的<b class='flag-5'>那些</b>頭疼事

    BP神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí)的關(guān)系

    ),是一種多層前饋神經(jīng)網(wǎng)絡(luò),它通過(guò)反向傳播算法進(jìn)行訓(xùn)練。BP神經(jīng)網(wǎng)絡(luò)由輸入層、一個(gè)或多個(gè)隱藏層和輸出層組成,通過(guò)逐層遞減的方式調(diào)整網(wǎng)絡(luò)權(quán)重,目的是最小化網(wǎng)絡(luò)的輸出誤差。 二、深度學(xué)習(xí)的定義與發(fā)展 深度學(xué)習(xí)是機(jī)器學(xué)習(xí)的一個(gè)子集,指
    的頭像 發(fā)表于 02-12 15:15 ?1605次閱讀