程序員:10個妨礙進步的學習方式

前言

從事web前端的人很多,每個人的學習方式,學習習慣基本不會一模一樣!關於web前端(或者直接互聯網),大家都知道,是做到老,學到老的一個行業。下面是我覺得妨礙進步的幾種學習方式,因為我是前端er,所以就從前端說起,但是我覺得對於大部分程序員來說都是適用的,大家就一起來交流交流意見吧。

程序員:10個妨礙進步的學習方式

具體情況

1.只看教程,不動手實戰

這個可以說是學習的最大的一忌,也是提醒過最多的一個注是事項!網上的教程有許多許多,各個語言,各個知識點,各方面的都有,javascript,html5,css3等的一些,隨便一搜就一大把,畢竟互聯網最大的優勢之一就是資源共享!但是很多人看教程就只是看教程,不動手實操。即使博客的教程,視頻教程再好,自己不動手實操,寫代碼,這樣的學習方式,記憶根本不深刻,容易遺忘,到頭來,可能什麼都沒學會!而且有些教程,如果沒有跟著動手實操,可能會蒙圈。

個人建議:要挑覺得適合自己的教程,也要動手實操,寫代碼。即使不是邊看教程編寫代碼!在看完了教程之後,一定要自己動手實操!過程中,可能會遇到些問題,但是這樣才會學習到更多,記憶也更加牢固!

2.只學框架或者庫

這個情況,針對javascript(下稱:js)現在沒有以前嚴重了,想當年jquery傲視群雄的時候。很多人會在聊天的時候會說:有了jquery,為什麼還要學js?有了vue,為什麼還要學js?那就答一下:jquery或者vue就是用js實現的,不會js,學jquery或者vue第一學得吃力,第二學jquery或者vue肯定不會很深入。而且,萬一有時候,項目不允許用jquery或者vue,那就基本不會寫代碼了。這時候,如果學習其它的框架或者庫,基本又等於重新學一門語言了。

個人建議:先把基礎(html+css+js)打牢,再學其他框架或者庫。雖然在會js的情況下,我不敢說學js的框架或者庫就是查文檔,查API。但至少學js框架或者庫可以不會那麼吃力!

3.只顧著寫代碼

這個就是我之前的一個習慣,只顧著寫代碼,不知道:耦合,實例化,繼承等專業術語,和別人交流,無限蒙圈!根本不知道別人在說什麼!互聯網的技術更新的速度非常的快,隔三差五就發佈一個框架,一個庫,一個工具。雖然不是每一個更新的技術都需要學習。但是如果只顧著寫代碼,不瞭解新的技術。這樣很容易使自己停止不前,失去競爭力。

個人建議:在寫代碼之餘,要確保自己是不是瞭解代碼,對代碼有沒有一個認識。以及多點留意消息,看下有沒有什麼技術更新!如果覺得更新的技術很實用,或者自己有興趣,可以多瞭解下!畢竟互聯網是一個做到老,學到老的一個領域,技術更新的很快,如果跟不上流行的趨勢,說不定自己會被淘汰呢!

4.太早接觸複雜項目

這個情況,比較普遍,無論是在學校或者是現在的培訓機構。很多學習前端的人,基礎沒打牢,就在那裡揚言要做一個大項目,我聽到的有的人想做知乎,有的人想做世紀佳緣等等一些偉大的目標!但是全部人都是連網站的業務流程和邏輯都沒弄清,最後越搞越亂,就放棄了!之前的偉大目標都成了爛尾樓,作用最多就是一個代碼練習的作用!花了大量的時間,做了一件沒很大的實際意義的事情!

個人建議:從簡單到複雜,複雜的網站,都是有很多簡單的模塊。不妨先從簡單的功能做起,做完了一個功能再往裡面加功能!現在所處的公司就是這樣,開發的後臺管理系統,開發幾個月了,從一個只有員工的登錄註冊的功能,然後再逐一加功能,到現在項目逐漸完善!

5.好高騖遠,急於求成

就是目標不切實際,對自己也不夠認識!之前在群聊的時候,在金三銀四那段時間,很多人找工作,聊天的時候也遇到過很多培訓機構的人。簡歷上是各種精通,剛畢業在培訓機構培訓幾個月,要麼就是自帶兩三年工作經驗,要麼就是說自己培訓了幾個月,技術水平和市面上兩三年的人差不多。總之就是把自己吹得無所不能!但是一出題,就十問九不知。問閉包是什麼,不知道;問原型是什麼,不知道。問繼承是什麼,還是不知道。這裡就得說下,我印象深刻的一道題了:

程序員:10個妨礙進步的學習方式

個人建議:從實際出發,評估自己。想下自己會什麼,能給企業帶來什麼!也可以停下別人的建議,和對比下別人的技術水平和工資,或者是上網找一些面試題,看下自己能不能完成那些面試題!最後評估下自己,認為自己處於什麼位置!

6.看到難點就逃避

這一點,相信很多人都有感觸,就在開發上,遇到上一個或者幾個自己覺得沒辦法實現的需求或功能。千方百計地想著逃避,比如:這個功能不是很重要,不做可以嗎?這個功能我從來沒弄過,搞不定的。這個功能外包給別人做吧,我們做不了!很多一些逃避話語。大家可以想下,如果每次都是逃避,那麼時間一久,自己技術水平是不是還停留在基礎那個階段?以後要怎麼提升自己的技術水平。

個人建議:迎難而上。在web前端開發這塊,如果遇上了難題是正常的,如果沒遇到難題就是見了鬼!面對難題,我們應該是挑戰難題,而不是逃避!大家都想提升自己的技術水平,挑戰難題不就是一個很好的提升技術水平的實戰機會嗎?如果完成了之前認為不可能完成的難題,這樣就是一個技術水平提升的見證!不是嗎?我也覺得,每天就寫簡單的業務代碼,不探索新知識,不挑戰難題,這樣做開發也沒多少意思!

7.能用就行,不想優化

這個也是一個很常見的情況,很多人認為寫的代碼能用就行,能實現需求就行!根本不管日後的優化。在開發項目或者開發插件上,雖然我也是提倡:先實現,再優化這個方式!但是並不代表我開發完了就完了,不會再想優化!如果不試著去優化自己的代碼,不探索寫代碼的更好方式,以後別說編寫高質量,簡潔的代碼了,因為自己把學習編寫高質量,簡潔的代碼的一個重要途徑給封鎖了。還有一個就是,項目上,有些問題可能是潛在的,就是現在看著項目沒出現什麼問題,但並不代表以後不會出現問題。反而在項目開發完了之後,試著去優化自己的代碼,探索更好的實現方式,試著編寫出高質量,簡潔的代碼。這樣難道不是一個很好的學習過程嗎?至於優化代碼的方式,很多很多(比如常說的:代碼過於重複,是否引入設計模式?網站性能一般,可否進行優化?),優化這一塊,也不是說一步就優化到最好的,而是至少不會比以前差!

8.不懂不問和不懂立刻問

不懂不問,這個大家都知道,就是遇到問題,從不問同事或者通過其他方式諮詢別人。就是自己在那裡苦思冥想,嘗試各種解決方案。這樣的方式,最壞的結果就是最終還是解決不了問題,讓同事來詢問開發情況。最好的結果問題解決了,但是解決問題所花的時間會肯定很多。

不懂立刻問,這個就是詞面的意思。遇到問題馬上問別人。自己沒怎麼思考或者根本不思考。這樣能解決問題,但是這樣會導致自己可能會頻繁的問同事,會搞得同事很不耐煩。如果把同事的耐心磨沒了,可能回答的語氣可能不會很好。這樣不僅影響同事之間的關係,還會讓自己之後不敢再請教同事,有讓自己處於上面所說的不懂不問的風險。

個人建議:適時請教。遇到不懂的問題,先自己結合上下文思考下,想下以前有沒有遇到這個問題,解決不了去網上找解決方案,如果還沒有解決問題,這個時候再問別人,問同事或者通過其它渠道問別人。這樣自己有了思考,解決問題的時候記憶也很深刻,也不會頻繁的打擾同事!

9.不懂裝懂

不懂裝懂就是去問別人的時候,實際上別人的講解並沒有完全聽懂,可能是礙於面子或者是因為不好意思打擾別人那麼久,或者擔心打擾別人太久,所以裝作很懂。但是這樣可能忽悠得了一時,很快又會露出馬腳。這樣會搞得隔一會又要去問別人同樣的問題,這樣反而會搞得別人更加尷尬,更加為難!自己也會打擾別人更多的時間!

個人建議:如果有問題去問別人,只要你問的人不是一個非常沒有耐心的人。他都會耐心的解答你的問題!所以,當問別人問題的時候,一定要確保自己是已經弄懂了問題的緣由,同事一遍沒解釋清楚,自己直接回答不明白,相信很多人都會再詳細的解釋一遍。如果擔心同事工作忙或者其它原因,可以挑一個合適的時間!

10.沒理清楚需求就寫代碼

很多人在接到需求之後,第一反應就是寫代碼,即使是在自己沒把需求理清楚之前也是照樣寫代碼。另一種情況就是,很多人是邊寫代碼,邊想需求。這個開發方式,萬一自己對需求理解有誤!可能會導致自己寫的代碼,很大一部分都要修改,甚至是全部刪除重寫。沒理清楚需求就寫代碼這個情況,發生的概率應該挺大的,但是一般來說很難發現這個情況,畢竟程序員對代碼的增刪改查是再正常不過了!對於一些稍微複雜一點的需求,先理清楚需求,簡單畫個流程圖,然後在代碼裡面,先寫上一點註釋,再開始動手寫代碼!

總結

現在前端競爭很大, 面對這樣的情況,我們能做的,只有時刻學習,提升自己的技術水平。這樣才能保證自己有很大的競爭力,能夠從這麼多人中脫穎而出。共勉!


分享到:


相關文章: