學習代碼是要多記還是要多敲?
作為一個寫了十幾年程序的老碼農,寫代碼靠的是邏輯思維,加上穩固的編程語言基礎。編程其實和學習英語有一定的相同之處,但又有不同之處,英語的學習可能夾雜著記憶成分,編程百分90以上靠的是邏輯思維加上強大的實踐動手能力,很多人覺得先把理論掌握透徹了再去學習編程會快很多,有過幾年編程經驗的人可能對自己剛入行的時候多少都會有點記憶,真正讓自己徹底能開始寫代碼絕對不是從一次次理論得來的,主要還是經歷一次項目實戰而且開始都有一種無形的壓力,隨著時間的推移發現特別是項目進行到一半的時候,發現編程沒有想象的那么難,還是完全可以搞定的,甚至對于自己來講也是能負擔一部分的自信,這就是實戰的威力,很多人基礎很差但是經歷了一次這種項目的磨練,成長的也會快速很多。
編程玩的就是邏輯思維,很多人說學習編程數學好的會占據點優勢,這句話本身是有道理的,因為數學邏輯強直接切入到編程學習中具有天然的優勢,這都不是主要的,編程入門學習的過程其實是培養編程語感的過程,一旦有了感覺寫代碼或者設計模塊就會變得快很多了,編程能力的提升只靠多記是不可能有多大進步,在軟件企業里面會有這樣一種現象,培訓出來的學生遇到在機構里面學過的就會做的非常快,有新的模塊出來就容易變得手足無措,自學出來的會好很多,畢竟自學的過程就是一種自我尋找編程語感的過程,培訓大部分屬于灌輸性質的,甚至很多極端的企業直接對參加培訓的學生排除在外。
代碼的學習在沒有項目的情況下,要找一些練手題目,練手的時候不要在紙上謝謝而已,還要在電腦上形成真正的代碼實現,不能僅僅是做一些模擬代碼,要強迫自己拿出最好的學習狀態,才能真正突破,只是學習理論只會在水上漂著永遠學不到真正的編程能力,很多理論學的很棒的學生在考試的時候成績很高,一旦上機就抓瞎,因為在真正實現代碼的感覺和直接理論的學習是完全兩碼事,曾經有個同事寫代碼特別費勁,后來覺得自己真的不適合寫代碼就去復習考研去了,結果真考上計算機系的碩士成績還特別好,寫代碼就是不停在機器上實踐操作。
還真見過背誦常見的代碼的大學生,后來發現稍微一變通就不行了,最后選擇了放棄代碼從來不是背誦出來的,編程代碼的變化概率太高了,沒有邏輯變通系統很難掌握的全面,但不能因此走極端放棄理論的學習,直接上機亂搞一通,這也不是學習代碼的好習慣,首先有理論基礎然后構建自己的理論體系,然后帶著自己的想法去用代碼實現,越是有經驗的程序員在花寫代碼的時間長越短,主要在前期的設計上以及后期調試,最后是不斷的代碼的優化重構。
反而是一些剛入行的程序員就是擔心自己不能實現功能,花費大量時間研究如何實現代碼,一般過了幾年的時間之后基本功上來之后,就會回歸到設計和調試上來,到了這個層面更加和以及沒有什么關系了,優秀的程序員就是在不斷的提升編程基本功,修煉自己的編程思想和實際解決問題的能力,每個人都會經歷這個過程。
希望能幫到你。