在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

學習編程需要克服那些難關

Wildesbeast ? 來源:今日頭條 ? 作者:C語言編程學習 ? 2020-02-04 12:32 ? 次閱讀

作為一個C/C++軟件開發的老程序員,我看到過很多新手程序員滿懷熱情投入到學習中來,卻總是處處碰壁。大多數學習者同樣碰到過相同的障礙,但是,一旦克服了這些壁壘,那么好處立馬就來:

(1)更享受學習經歷

(2)進步更快

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

(4)寫代碼時更獨立

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

1、不知道從什么技術入手

很多人會問:“我應該先學什么編程語言?”之所以會提出這個問題,是因為他們不知道自己為什么要學習代碼。

一旦你下定決心去完成一個特定的項目,那么從什么語言入手這個問題就變成一件很容易的事情:

如果你想構建iOS app,那么你需要學習Objective C或Swift。

如果你想構建Android app,那么你需要學習Java

如果你想構建Web app,那么你需要學習JavaScript。

其實現在我們可以使用JavaScript來創建任何類型的項目——無論是簡單的web和移動app,還是高級的硬件項目。大多數行業中都有它的身影:音樂、醫療、游戲、時裝。這種語言非常值得學習。

如果你還是不能確定要選擇哪種語言,那么不妨咨詢下某個程序員的意見。只要你確定要構建什么項目,那么他就能很快地為你推薦適合你使用的技術。

另外,知識都是相通的,所以,不要過于拘謹,選擇語言這一步驟幾乎沒什么風險。

2、不正確的學習動機

在談及壁壘之前,我想先著重說明學習動機的重要性。不要只是為了編程而學編程,也不要因為聽說它很酷,很劃得來就來學編程。

你得因為要解決問題而學習編程,你得因為想要自動化和改善生活而學習編程,你得因為想要構建應用程序以造福社會來學習編程。

如果你只是喜歡編程,并希望以此作為職業的話,那么在之后的學習過程中,你可能會有一種強烈的沖動想要放棄。這通常發生在事情變得艱難,學習體驗變得痛苦的情況下。這時你會告訴自己,你不喜歡編程了,編程操作不適合你,覺得自己天生就成不了程序員。

這就是為什么你應該考慮圍繞著完成項目設置目標的原因。如果你的心里有計劃,或者你想要解決更高層次的問題,那么你可以對自己說:“這可能不是一次愉快的經歷,但是我真的想要解決這個大問題,所以我一定要克服這個障礙。”

3、不能學以致用,以及責備自己

選擇好技術堆棧之后,剛開始學習理論總是很輕松的,而且網上也有許許多多免費和付費的在線課程。

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

學習者碰到的最大問題在于,實際應用理論來解決問題并編寫新代碼的時候。這中間的差距實際上就是技能空白。

比如說游泳。你可以閱讀大量的技術文章,然后解釋得就像一個專業教練。但是,要想實際應用這些理論,就需要大量的實踐、斗爭和錯誤——你肯定會吞下大量的水!

然而更糟糕的是你開始責備自己。或者認為自己不夠聰明,或者覺得自己沒有天賦。這其實跟聰明天賦沒有關系,你只是需要練習技能的過程:

1.選擇一個復雜的項目。理想情況下,這項目得能夠激發你的興趣。

2.將這個任務分割成既小又獨立的任務。例如,“實現登錄頁面”是一個很大的任務。解決一個任務不應該超過20行左右的代碼。下面這些提示有助于成功做到這一點:

如果你不能解決這個任務,那么進一步將它分割成更小的任務。

一個任務一次不應該使用太多的理論概念。

3.一次專注一項任務,而不是并行解決多任務。不要跳到下一個任務,除非你已經徹底測試過當前任務,并確信沒有問題。

如果你不這么做,而此時應用程序又出現了問題,那么你就不知道你正在并行解決的多任務中到底是哪個出了問題,尋找起來就麻煩多了。

4.確保自己在開始任務之前知道所有必要的理論知識。有時候,你可能不知道需要學習什么理論,這很正常,所以你需要向他人尋求幫助:程序員朋友,導師,或類似StackOverflow的社區。

5.最后,你解決了任務。在解決任務的過程中,你可能會碰到很多問題,你需要做的就是吸取教訓,這也是下面要說的點。

4、不吸取解決任務中獲得的經驗教訓

最好的情況是,你解決了任務并且結果證明非常有效。此時,很多人往往就直接開展下一個任務。但是如果你這樣做的話,那么你浪費了一個絕佳的學習機會。

希望你能夠用以下問題來挑戰自我,幫助自己成長:

哪些邊界情況會導致我的代碼失敗?即使現在還沒有失敗,有哪些應用程序狀態可能會破壞代碼?

我的代碼是否足夠整潔?對其他開發人員,甚至是自己而言,代碼是否易于理解和改變?因為以后可能需要修復隱藏在這段代碼中的問題,或者根據其他產品規格改變代碼。

我的方法是最好的嗎?有沒有其他選項是我可以選擇使用的?各個方案的利弊?這任務是否值得用不同的方式解決?

此模塊與其他模塊是如何交互的?是否會對其他模塊造成負面影響?是否容易被其他模塊影響?

然而,很多時候,你會進退維谷。

5、你不知道如何處理一個任務

你不知道從哪里開始?你可能會隨機地去嘗試,或者從其他地方復制一些你自己也不明白的代碼。但是,這是沒有幫助的。即使你復制來的代碼有效也沒用。因為當你今后再一次碰到類似的任務,你依然不能解決。

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

1.沒有很好地掌握這些理論知識:

語言語法

庫或API的工作原理,某個具體方法或類的工作原理

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

系統運作(例如:HTTP請求是理解Web開發的關鍵)

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

2.任務太大了,那就分解為一個個小任務。

3.也有可能是因為你讀得太快,忽略了一些你以為熟悉其實似是而非的概念,所以無法理解任務要求。

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

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

如何修復?方法是調試代碼。這也是作為一個程序員需要學習的最重要的技能之一。這不是可以隨便湊合的事,也不是玩幸運猜猜猜游戲。如何尋找bug是有具體步驟的。而且很多書中都有教這個技能。

不幸的是,這是很多新手程序員失去動力選擇放棄的難關。很少有課程會說明調試的重要性。如果你不知道如何正確地調試,那么它就是不可戰勝無法攻克的難關。

很多人擔心會花太多時間用于調試代碼。這是正常的,在你第一年的編程規劃中這是不可避免的。

甚至,你還得學著去喜歡調試。不妨將此看成是一個機會,一個修復錯誤提高編程能力的機會。當你解決了一個bug,可以問問自己這個問題:“我為什么會犯這種錯誤?以后我該如何預防再犯?”

還有一個好主意是將找到的bug寫成編程日記,方便你總結和學習。

7、不知道如何接受幫助

當我們在學習代碼,或調試代碼時,可以咨詢很多材料:書籍、課程、教程、導師,開發者社區等等。

在你學習這些資源時最常見的問題是,你并沒有完全了解幕后發生了什么事情,也不知道概念是如何融入到更大的藍圖中的。

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

思考自己之前的思維過程。問問自己,做錯了什么,對于這個特定的解決方案有哪些是值得你先前的思路借鑒和改進的地方。

詢問他人的思維過程。她/他是如何解決的呢?向對方學習,吸取經驗。

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

8、不去應用你學到的理論

這篇文章也是理論知識,除非你能夠學以致用,否則它是不會發揮一絲一毫作用的——多多應用,直到它變成潛意思的例行程序。

編程其實就是通過形成良好的習慣來幫助你解決各種問題的過程。

所以說,想要在程序員生涯內有更高的成就的話,最最重要的是盡可能的提升自己的編程能力,并且,與其想著怎么去提升,不如從現在開始動手動腦,如果對于C/C++感興趣的話,可以關注+私信小編【編程交流】有一些視頻希望可以幫助到你,學習不怕從零開始,就怕從不開始。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Web
    Web
    +關注

    關注

    2

    文章

    1278

    瀏覽量

    70627
  • HTTP
    +關注

    關注

    0

    文章

    517

    瀏覽量

    32320
  • C++
    C++
    +關注

    關注

    22

    文章

    2116

    瀏覽量

    74621
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    Triton編譯器支持的編程語言

    編寫和優化深度學習代碼。Python是一種廣泛使用的高級編程語言,具有簡潔易讀、易于上手、庫豐富等特點,非常適合用于深度學習應用的開發。 二、領域特定語言(DSL) Triton也提供了一種針對深度
    的頭像 發表于 12-24 17:33 ?810次閱讀

    4G模組SD卡接口編程:深度學習

    今天我們需要深度學習的是4G模組SD卡接口編程,以我常用的模組Air724UG為例,分享給大家。
    的頭像 發表于 11-20 23:14 ?535次閱讀
    4G模組SD卡接口<b class='flag-5'>編程</b>:深度<b class='flag-5'>學習</b>

    什么是機器學習?通過機器學習方法能解決哪些問題?

    來源:Master編程樹“機器學習”最初的研究動機是讓計算機系統具有人的學習能力以便實現人工智能。因為沒有學習能力的系統很難被認為是具有智能的。目前被廣泛采用的機器
    的頭像 發表于 11-16 01:07 ?748次閱讀
    什么是機器<b class='flag-5'>學習</b>?通過機器<b class='flag-5'>學習</b>方法能解決哪些問題?

    NPU支持的編程語言有哪些

    NPU(Neural Processing Unit)是一種專門為深度學習和人工智能應用設計的處理器。NPU支持的編程語言通常與它所集成的平臺或框架緊密相關。以下是一些常見的編程語言和框架,它們可以
    的頭像 發表于 11-15 09:21 ?1615次閱讀

    如何學習ARM?

    、寄存器、內存管理單元(MMU)、中斷控制器等方面的知識。 3.學習編程語言和工具: 掌握一門與 ARM 處理器兼容的編程語言是必不可少的。C/C++ 是最常用的編程語言,可以使用它
    發表于 10-11 10:42

    請問TLV320AIC3104通路配置需要修改那些寄存器?

    1:通路配置需要修改那些寄存器,目前我們是一路tdm進來,輸出接的是LEFT_LOP、RIGHT_LOP和HPLOUT三路,我們tlv320aic31x.c驅動里注了很多snd_kcontrol,這些是否能利用起來,麻煩提供一些相關的測試示例。
    發表于 09-29 07:23

    十天學會單片機可能嗎?單片機入門需要多久?

    一下,單片機的入門其實并沒有想象中那么難。對于那些有一定編程基礎,尤其是有C語言基礎的學習者來說,入門的過程可能僅需幾天。例如,有人可能在三天內就掌握了單片機的基礎
    的頭像 發表于 09-05 08:00 ?1974次閱讀
    十天學會單片機可能嗎?單片機入門<b class='flag-5'>需要</b>多久?

    keil軟件實現編程仿真需要哪些步驟

    Keil MDK-ARM 是一款廣泛使用的集成開發環境(IDE),專為 ARM Cortex-M 微控制器編程而設計。它提供了代碼編輯、編譯、鏈接、調試和仿真等功能。 1. 安裝 Keil
    的頭像 發表于 09-02 10:28 ?2081次閱讀

    克服設計難題-實現高性能接口

    電子發燒友網站提供《克服設計難題-實現高性能接口.pdf》資料免費下載
    發表于 08-28 09:41 ?0次下載
    <b class='flag-5'>克服</b>設計難題-實現高性能接口

    按照這樣學習C語言,成為卷王不是夢!

    在計算機編程領域,C語言被譽為一種強大而靈活的編程語言,掌握好C語言不僅可以讓你輕松駕馭各種編程任務,還能夠為你的職業生涯打下堅實的基礎。但要成為C語言的“卷王”,需要一定的
    的頭像 發表于 07-06 08:04 ?514次閱讀
    按照這樣<b class='flag-5'>學習</b>C語言,成為卷王不是夢!

    客戶有哪些封裝案例,一句克服使用讓PCBA工廠淚流滿面

    作者 | 高速先生成員--王輝東 天空下著雨,蕭蕭從窗前經過,看窗里。 翠萍那嬌艷欲滴的臉上掛著兩串淚滴。 蕭蕭一進去,問啥情況。 翠萍往電腦屏幕一指。 當蕭蕭看向屏幕一瞬間。 那些曾經以為早已遺忘
    發表于 06-25 14:26

    客戶有哪些封裝案例,一句克服使用讓PCBA工廠淚流滿面

    客戶一句克服使用讓PCBA工廠淚流滿面,今天我們一起來盤點盤點客戶那些特殊的PCB設計和封裝建立,你都是否有經歷過,或者正準備這么做。
    的頭像 發表于 06-25 14:20 ?463次閱讀
    客戶有哪些封裝案例,一句<b class='flag-5'>克服</b>使用讓PCBA工廠淚流滿面

    編程電源如何編程

    編程電源如何編程? 可編程電源是一種可以調節輸出電壓和電流的電源設備,廣泛應用于電子設備測試、研發和生產等領域。通過編程,用戶可以根據需要
    的頭像 發表于 06-10 15:24 ?2062次閱讀

    學習串口屏需要了解哪些方面的知識

    學習串口屏需要掌握的知識主要包括以下幾個方面
    的頭像 發表于 06-05 09:41 ?638次閱讀
    <b class='flag-5'>學習</b>串口屏<b class='flag-5'>需要</b>了解哪些方面的知識

    如何為CYPD6227編程需要使用哪些工具?

    我想學習重新刷新筆記本電腦主板上的編程芯片 CYPD6227。 芯片編程需要使用哪些工具,還需要哪些資源? 如有任何幫助,我們將不勝感激。
    發表于 06-03 09:10
    主站蜘蛛池模板: 天天插天天插天天插 | 伊人不卡久久大香线蕉综合影院 | 38pao强力打造永久免费高清视频 | 天天草天天射 | 久久综合中文字幕 | 国产精品一区二区综合 | 国内外精品免费视频 | 456成人网 | 国产伦精品一区二区三区免费 | 国模大胆一区二区三区 | 国产片一级特黄aa的大片 | 狠狠色噜狠狠狠狠色综合久 | 在线视频永久在线视频 | 四虎永久在线精品免费影视 | 欧美性一区二区三区五区 | 天堂网中文在线最新版 | 68日本 xxxxxxxxx | 多男一女一级淫片免费播放口 | 老色歌uuu26 老湿成人影院 | 夜色成人 | 麻豆国产三级在线观看 | 国产精品国产三级国产普通话对白 | 日日操夜夜 | 成年人一级片 | 久久久综合久久 | 国产日本在线播放 | 国产成在线人视频免费视频 | 三级完整在线观看高清视频 | 亚洲免费黄色网址 | 岛国一级毛片 | 天天干夜夜爽天天操夜夜爽视频 | 在线免费观看毛片网站 | 国产视频综合 | 国产精品国产三级在线高清观看 | 免费一级毛片 | 天天色天天操天天 | 亚洲综合精品成人啪啪 | 天天玩夜夜操 | 高h肉肉视频在线播放观看 高黄视频 | 717影院理伦午夜论八戒 | 免费网站毛片 |