自學編程半年後十分困惑,大家有哪些建議或者心得可以分享嗎?

MYR00


很多高手都選擇性忘記自己初學時的困惑,讓後來者心生敬畏。自學是效率最低的學習辦法,但是大學沒錢但有最多的是時間,題主看的理論已經夠多了,應該項目練習,寫自己的個人網頁,模仿別人的網頁,理論不用全都記住再去做練習,踩對坑了去搜索去解決,看別人怎麼實現,HTML+CSS難點也就那幾個知識點,盒子模型,浮動,三大布局(傳統的float、絕對相對定位佈局、flex佈局),還有兼容性,這個只能靠項目經驗了,不斷踩坑,不然自己不長記性,做三四個網站,估計就好很多了,JQ看一下嘗試隨看隨用,只看不用記不住的。


墨墨大貓


7年本碩+3年工作經驗的老司機為您解惑啦。

首先贊一下題主的提問,看得出題主是一個熱愛編程,且非常用心的人。

從你的問題描述來看,你似乎走進了一個誤區。《論語》裡說過"學而不思則罔,思而不學則殆"。對於計算機來說,理論知識的學習和編程實踐就對應著學與思,兩者缺一不可。

如果只學理論知識,你會發現忘得非常快,缺乏實踐讓你很難把知識粘合,也難以抓住重點。

只實踐則會進入另一個誤區,你會把低效的,不規範的代碼重複,甚至養成不好的習慣。

正確的做法是怎樣的呢

我認為,應該是螺旋式的上升。在實踐中學習,在閱讀理論後不斷實踐。以bootstrap為例,最佳的方式是帶著目標去學習,比如我想做一個個人網站,怎麼去實現它。在實踐的過程中,你自然會知道,哪些知識是高頻的,哪些是重點需要掌握的。

那麼如何避免低級重複的實踐呢?我認為有兩點需要注意。

[一] 多看源碼

為什麼看源碼很重要呢,因為閉門造車註定有很多問題發現不了。到github上看看優秀的源碼,你會發現"原來這個功能可以這樣實現"。

[二]瞭解一些軟件工程的規範

寫代碼的時候,思考這麼幾個問題。

  • 我的代碼有沒有重複
  • 有哪些地方,需求是可能變化的,需求變化對我的代碼影響大不大
  • 如果沒有註釋,別人能否看得懂我的代碼。
  • 我是否寫了過長的方法,過長的類
帶著這些思路,你會很容易發現自己代碼中的潛在問題,到時候再結合理論和源碼,就能獲得提高。

希望我的回答能夠幫助你。我現在工作的方向就是用技術手段解決工程師的效率問題,有問題隨時私信我交流。

最後,求一波關注啦


戰神猴哥


作為一個計算機專業的大四老狗,我感覺我還是能說上一兩句話的。

先說你自己說的html,你瞭解過多少?4,4.01,5,5.1,5.2這幾個比較近的版本看過嗎,文檔樹結構認知有多少。

再說說css,版本1 2 3 還有最新的草案標準4。動畫,svg,canvas有過理解嗎?就問個最簡單的問題,css的權重你來簡單說一說。還有些基礎:less, scss開發css。

JS,重頭戲~~~ es3, es5, es2015,2016,2017,2018知道幾個。能不能理解為什麼用框架?什麼是JS模塊化開發,為什麼要模塊化開發?vue,react這類框架知不知道怎麼用?

再來說說向上發展~流程化開發工具,打包工具,測試框架知到是什麼概念嗎?為什麼用?如果看到這裡你覺得OK上面的毫無壓力,來我們說說node開發相關的概念,具體實現自己看官方文檔以及百度、谷歌、Github。gitee上的JS東西太少了,雖然速度快。html模板引擎,後端渲染,跨域的整體解決方案,路由。以及為啥用這些東西。

最後我想說的是現在的前端和數年前的前端不可同日而語,如果你用到了node,服務端的知識也必不可少,Linux和nginx在等著你。而且作為一隻合格的程序員,Git倉庫要會玩吧,markdown寫文檔也得會吧,用到Linux那shell腳本也得會寫一點吧,以及鏈接服務器用的ssh,在服務器中修改點東西用的vim編輯器,大多數公司用的SVN你也不能說不會吧,自己要用Google不得開個VPN自己玩?更重要的是在web發展的大潮流下,嘿嘿tcp/ ip, http, https, ftp。。。加油吧

給你一些名詞自己玩:SPA , MPA , webpack ,vscode , Native , Progressive Web App


故人未見即見


從你的問題來看,確實很用心,也希望能夠得到一些幫助,我就說一些我自己的看法吧,希望對你能夠有些作用;

首先,因為你非計算機專業,而且是自學軟件開發;所以,首先很重要的一點是如何真正的入門軟件開發的行業;其實無論是前端還是後臺或者是客戶端,在對於開發人員來說,只要你真正的進入了軟件開發,無論是什麼語言;當你再去學習其他語言時,都會有事半功倍的效果;因為其實所以的開發語言,很多都是相通的,尤其是學習方式、思維方式和基礎語法;所以,我覺得,你的第一個問題,學過之後經常忘記,有以下幾個原因:

第一,你還沒有真正的進入軟件行業,沒有真正的找到作為碼農的那種感覺和思維、學習方式;可能你覺得有些玄乎,但是這真的是一個感覺,就像學習開車一樣,開始你強行去記住各種操作順序、操作部件,甚至強行記住剎車在哪,油門在哪;但是真正熟練的人,都是憑感覺,沒有任何記憶,所以,最強的招式也就是無招;

第二,我覺得你真的是練習不夠多,因為沒有練習,所以很多知識都是強行記憶的;就像現在我們畢業五六年了,當你去問很多人他們大學時候的專業知識時,又有幾個能夠完全記住呢,差不多很多都忘了;只有在不斷的練習中,才能夠強化記憶,找到自己沒有學到的東西;

因此,我覺得,你還是應該在學習的基礎上,多練習,只有在練習的過程中,才能真正的體會到什麼是編程,慢慢的去找到那種感覺,去發現問題,解決問題,才能真正的成長,一味的強行記憶,其實最後達不到任何效果;這就是為何考100分的新手沒有考不過的五年老司機開車開的好原因;

第三,因為你是自學,我不知道你具體是怎麼學習的,但是你應該沒有一個系統的學習安排和循序漸進的學習過程;任何東西都需要有個先後;

比如,我覺得應該先學習html和css基礎,學好之後,去嘗試模擬寫一個類似淘寶首頁這種的靜態頁面,去強化;然後學習js基礎、然後先從簡單的頁面動畫效果;熟悉了js的開發之後,可以學習jquery的使用,然後嘗試使用css、html、jquery寫一些簡單的項目,如一個簡單的購物車啊之類的;之後呢,當熟悉使用這些和可以進行一些項目開發之後,就可以嘗試學習目前的一些最新框架,如vue、react、webpack等;嘗試使用模塊化、組件化進行開發;

然後就可以嘗試使用新的框架進行一些項目開發了,現在很多框架都有demo,可以自己嘗試去自己完成他們的demo,然後去找出自己的問題;

後面如果還希望提高自己的話,我就推薦可以開始去看一些源碼,如jquery、vue等一些;但是目前我不是很推薦你去看,因為你現在連基礎和一些項目經驗,很多知識都還沒有形成體系的時候去看jquery源碼,真的是有點找虐;如果你看源碼,又不準備看懂的話,那就真的沒有看它的必要了;

最後,從我個人觀點而言,我覺得你現在不要一味的去追求看的多,而要去追求看一些知識,就要真正的理解、運用到實際然後形成知識體系;只有這樣,才能夠真正的在工作中有用,也才能更好的找到工作;


搬磚前端小子


作為一個前端開發者,我不清楚你為什麼連HTML跟CSS都要研究那麼久?而且你連一個項目都沒做過,現在還只是寫了幾個靜態頁面對吧?寫靜態頁面,半天時間看一下HTML文檔,半天時間看一下CSS文檔,然後找個現成的網站,自己照著寫出來就可以了。除非你到了會做項目了,然後才考慮研究怎麼如何優化HTML跟CSS,否則你這樣就是在浪費時間,實踐才是學習的最好方法論!

其次,從你的問題來看,你似乎連前後端數據交互都沒做過吧?你要知道,現在很多都是後臺程序員開發好API,前端開發者則負責調用API接口獲取後臺數據進行展示。就這點你最起碼得了解http,瞭解ajax,並知道怎麼用ajax,這才是最重要的,如果你連最基本的ajax都不會,你研究那些源碼又有什麼用?連項目都不會做,代碼研究得再透徹也是然並卵!

所以,這裡我給你這條路,HTML跟CSS,最多給自己一個星期學習,js基本語法可以花一個星期看看mdn上面的文檔,然後可以再花一個星期看看阮一峰的ES6入門教程,最後最重要的是學一下http跟ajax,要實現前後端動態交互,ajax必不可少!其他的什麼方法論,代碼研究,完全可以在項目實踐中去學習。

對於框架學習,尤其是bootstrap這種UI框架,我並不建議你研究代碼,UI框架最重要的是要會用,研究它的代碼對你的編程水平,尤其是你現階段根本毫無用處!

還有你現在重點學習react跟vue這兩大js框架,以及基於這兩個js框架衍生出來的各種UI框架,現在國內很多公司都在用,angular也有,但相對來說沒有前面兩個那麼火爆。

以上就是我的一點點經驗分享,希望對你有所幫助


SpectreX


自學編程有優點也有缺點。

優點是:自由支配時間,時間很靈活,網上課程資源多。

缺點是:沒有比較,沒有老師指導,不知道自己到底真實的水平如何。容易走彎路。

建議:找到一些大牛的學習路線,將自己的學習階段分成幾個部分。對待每一個部分,明確自己要做個什麼項目,然後去學習和實踐。在學習的過程中,多實踐,然後通過自己的努力,將想要寫出的項目自己寫出來。在自己完成代碼的過程中,切記勿過度追求完美,謹記完成比完美更重要。

另外,在自學的過程中,要學會從市場的角度來思考自己的項目。我們的很多項目是由於社會的需求決定的。如果有相關的同學和朋友在公司裡任職,多交流,從需求的角度來分析,那麼你自己在學習的過程中,就有重點,有的放矢。


明月照小城


光看教程 不自己練一下手不行的,我也是自學的,自己想一個項目,按自己想的做下來,就會有很大進步。過程中遇到問題一定不要逃避,一定搞明白再往下進行,多給自己挖坑 填多了就好了


該用戶已被封停



分享到:


相關文章: