** 1.前言
從事web前端的人很多食拜,每個人的學習方式,學習習慣基本不會一模一樣伸头!關于web前端(或者直接互聯(lián)網(wǎng))氏捞,大家都知道,是做到老,學到老的一個行業(yè)筐乳。之前寫文章的時候歌殃,我說過很多學習的方式和建議。今天換一下蝙云,說一下我個人不建議的學習方式氓皱,或者我個人覺得是妨礙進步的學習方式,希望大家引以為鑒勃刨!如果大家有什么補充和指點的波材,歡迎指出。大家一起交流意見朵你,互相幫助各聘!
2.具體情況
1.只看教程,不動手實戰(zhàn)
這個可以說是學習的最大的一忌抡医,也是提醒過最多的一個注是事項躲因!網(wǎng)上的教程有許多許多,各個語言忌傻,各個知識點大脉,各方面的都有,javascript水孩,html5镰矿,css3等的一些,隨便一搜就一大把俘种,畢竟互聯(lián)網(wǎng)最大的優(yōu)勢之一就是資源共享秤标!但是很多人看教程就只是看教程,不動手實操宙刘。即使博客的教程苍姜,視頻教程再好,自己不動手實操悬包,寫代碼衙猪,這樣的學習方式,記憶根本不深刻布近,容易遺忘垫释,到頭來,可能什么都沒學會撑瞧!而且有些教程棵譬,如果沒有跟著動手實操,可能會蒙圈预伺。
個人建議:要挑覺得適合自己的教程订咸,也要動手實操琅束,寫代碼。即使不是邊看教程編寫代碼算谈!在看完了教程之后涩禀,一定要自己動手實操!過程中然眼,可能會遇到些問題艾船,但是這樣才會學習到更多,記憶也更加牢固高每!
2.只學框架或者庫
這個情況屿岂,針對javascript(下稱:js)現(xiàn)在沒有以前嚴重了,在我大學和實習期間鲸匿,那個時間還是jquery傲視群雄的時候爷怀。很多人會在聊天的時候會說:有了jquery,為什么還要學js带欢?有了vue运授,為什么還要學js?面對這樣的提問乔煞,我那時候沒有回答吁朦,心里想:jquery或者vue就是用js實現(xiàn)的,不會js渡贾,學jquery或者vue第一學得吃力逗宜,第二學jquery或者vue肯定不會很深入。而且空骚,萬一有時候纺讲,項目不允許用jquery或者vue,那就基本不會寫代碼了囤屹。這時候熬甚,如果學習其它的框架或者庫,基本又等于重新學一門語言了牺丙。
個人建議:先把基礎(html+css+js)打牢则涯,再學其他框架或者庫复局。雖然在會js的情況下冲簿,我不敢說學js的框架或者庫就是查文檔,查API亿昏。但至少學js框架或者庫可以不會那么吃力峦剔!
3.只顧著寫代碼
這個就是我之前的一個習慣,只顧著寫代碼角钩,不知道:耦合吝沫,實例化呻澜,繼承等專業(yè)術語,和別人交流惨险,無限蒙圈羹幸!根本不知道別人在說什么!互聯(lián)網(wǎng)的技術更新的速度非常的快辫愉,隔三差五就發(fā)布一個框架栅受,一個庫,一個工具恭朗。雖然不是每一個更新的技術都需要學習屏镊。但是如果只顧著寫代碼,不了解新的技術痰腮。這樣很容易使自己停止不前而芥,失去競爭力。
個人建議:在寫代碼之余膀值,要確保自己是不是了解代碼棍丐,對代碼有沒有一個認識。以及多點留意消息沧踏,看下有沒有什么技術更新骄酗!如果覺得更新的技術很實用,或者自己有興趣悦冀,可以多了解下趋翻!畢竟互聯(lián)網(wǎng)是一個做到老,學到老的一個領域盒蟆,技術更新的很快踏烙,如果跟不上流行的趨勢,說不定自己會被淘汰呢历等!
4.太早接觸復雜項目
這個情況讨惩,比較普遍,無論是在學泻停或者是現(xiàn)在的培訓機構荐捻。很多學習前端的人,基礎沒打牢寡夹,就在那里揚言要做一個大項目处面,我聽到的有的人想做知乎,有的人想做世紀佳緣等等一些偉大的目標菩掏!但是全部人都是連網(wǎng)站的業(yè)務流程和邏輯都沒弄清魂角,最后越搞越亂,就放棄了智绸!之前的偉大目標都成了爛尾樓野揪,作用最多就是一個代碼練習的作用访忿!花了大量的時間,做了一件沒很大的實際意義的事情斯稳!
個人建議:從簡單到復雜海铆,復雜的網(wǎng)站,都是有很多簡單的模塊挣惰。不妨先從簡單的功能做起游添,做完了一個功能再往里面加功能!現(xiàn)在所處的公司就是這樣通熄,開發(fā)的后臺管理系統(tǒng)唆涝,開發(fā)幾個月了,從一個只有員工的登錄注冊的功能唇辨,然后再逐一加功能廊酣,到現(xiàn)在項目逐漸完善!
5.好高騖遠赏枚,急于求成
這個情況就是多見于培訓機構出來的人亡驰。我不知道是不是所有城市都是這樣,但是廣州這邊饿幅,給我的感覺就是這樣凡辱。就是目標不切實際,對自己也不夠認識栗恩!之前在群聊的時候透乾,在金三銀四那段時間,很多人找工作磕秤,聊天的時候也遇到過很多培訓機構的人乳乌。簡歷上是各種精通,剛畢業(yè)在培訓機構培訓幾個月市咆,要么就是自帶兩三年工作經(jīng)驗汉操,要么就是說自己培訓了幾個月,技術水平和市面上兩三年的人差不多蒙兰×琢觯總之就是把自己吹得無所不能!但是一出題搜变,就十問九不知采缚。問閉包是什么,不知道痹雅;問原型是什么仰担,不知道糊识。問繼承是什么绩社,還是不知道摔蓝。這里就得說下,我印象深刻的一道題了愉耙。這道題我就是用來對付那些人的贮尉!看到哪個人各種精通,各種吹朴沿。我立馬出這道題猜谚,結果沒一個能回答正確,題目在下面赌渣!
alert(a)
a();
var a=3;
function a(){
? ? alert(10)
}?
alert(a)
a=6;
a();
上面所說的魏铅,只是一個表面的現(xiàn)象,更重要的就是坚芜,好高騖遠這個情況览芳,很有可能會導致自己難以找到工作!因為一些企業(yè)認為最高只能給你4000工資鸿竖,但是你自己卻認為自己有實力拿到9000以上的工資沧竟。這樣情況,很難找到工作缚忧!給人的印象也不好悟泵!更重要的是,這可能會影響自己的職業(yè)選擇闪水!
個人建議:從實際出發(fā)糕非,評估自己。想下自己會什么球榆,能給企業(yè)帶來什么峰弹!也可以停下別人的建議,和對比下別人的技術水平和工資芜果,或者是上網(wǎng)找一些面試題鞠呈,看下自己能不能完成那些面試題!最后評估下自己右钾,認為自己處于什么位置蚁吝!
6.看到難點就逃避
這一點,相信很多人都有感觸舀射,就在開發(fā)上窘茁,遇到上一個或者幾個自己覺得沒辦法實現(xiàn)的需求或功能。千方百計地想著逃避脆烟,比如:這個功能不是很重要山林,不做可以嗎?這個功能我從來沒弄過邢羔,搞不定的驼抹。這個功能外包給別人做吧桑孩,我們做不了!很多一些逃避話語框冀。大家可以想下流椒,如果每次都是逃避,那么時間一久明也,自己技術水平是不是還停留在基礎那個階段宣虾?以后要怎么提升自己的技術水平。
個人建議:迎難而上温数。在web前端開發(fā)這塊绣硝,如果遇上了難題是正常的,如果沒遇到難題就是見了鬼撑刺!面對難題域那,我們應該是挑戰(zhàn)難題,而不是逃避猜煮!大家都想提升自己的技術水平次员,挑戰(zhàn)難題不就是一個很好的提升技術水平的實戰(zhàn)機會嗎?如果完成了之前認為不可能完成的難題王带,這樣就是一個技術水平提升的見證淑蔚!不是嗎?我也覺得愕撰,每天就寫簡單的業(yè)務代碼刹衫,不探索新知識,不挑戰(zhàn)難題搞挣,這樣做開發(fā)也沒多少意思带迟!
7.能用就行,不想優(yōu)化
這個也是一個很常見的情況囱桨,很多人認為寫的代碼能用就行仓犬,能實現(xiàn)需求就行!根本不管日后的優(yōu)化舍肠。在開發(fā)項目或者開發(fā)插件上搀继,雖然我也是提倡:先實現(xiàn),再優(yōu)化這個方式翠语!但是并不代表我開發(fā)完了就完了叽躯,不會再想優(yōu)化!如果不試著去優(yōu)化自己的代碼肌括,不探索寫代碼的更好方式点骑,以后別說編寫高質量,簡潔的代碼了,因為自己把學習編寫高質量黑滴,簡潔的代碼的一個重要途徑給封鎖了憨募。還有一個就是,項目上跷跪,有些問題可能是潛在的馋嗜,就是現(xiàn)在看著項目沒出現(xiàn)什么問題齐板,但并不代表以后不會出現(xiàn)問題吵瞻。反而在項目開發(fā)完了之后,試著去優(yōu)化自己的代碼甘磨,探索更好的實現(xiàn)方式橡羞,試著編寫出高質量,簡潔的代碼济舆。這樣難道不是一個很好的學習過程嗎卿泽?至于優(yōu)化代碼的方式,很多很多(比如常說的:代碼過于重復滋觉,是否引入設計模式签夭?網(wǎng)站性能一般,可否進行優(yōu)化椎侠?)第租,優(yōu)化這一塊,也不是說一步就優(yōu)化到最好的我纪,而是至少不會比以前差慎宾!關于優(yōu)化,我之前也發(fā)過一些資源浅悉。很容易找到趟据,網(wǎng)上的資源更是很多!大家挑著看便是术健!
8.不懂不問和不懂立刻問
不懂不問汹碱,這個大家都知道,就是遇到問題荞估,從不問同事或者通過其他方式咨詢別人比被。就是自己在那里苦思冥想,嘗試各種解決方案泼舱。這樣的方式等缀,最壞的結果就是最終還是解決不了問題,讓同事來詢問開發(fā)情況娇昙。最好的結果問題解決了尺迂,但是解決問題所花的時間會肯定很多。
不懂立刻問,這個就是詞面的意思噪裕。遇到問題馬上問別人蹲盘。自己沒怎么思考或者根本不思考。這樣能解決問題膳音,但是這樣會導致自己可能會頻繁的問同事召衔,會搞得同事很不耐煩。如果把同事的耐心磨沒了祭陷,可能回答的語氣可能不會很好苍凛。這樣不僅影響同事之間的關系,還會讓自己之后不敢再請教同事兵志,有讓自己處于上面所說的不懂不問的風險醇蝴。
個人建議:適時請教。遇到不懂的問題想罕,先自己結合上下文思考下悠栓,想下以前有沒有遇到這個問題,解決不了去網(wǎng)上找解決方案按价,如果還沒有解決問題惭适,這個時候再問別人,問同事或者通過其它渠道問別人楼镐。這樣自己有了思考癞志,解決問題的時候記憶也很深刻,也不會頻繁的打擾同事鸠蚪!
9.不懂裝懂
這個次面上跟上面的差不多今阳,但實際上不一樣!不懂裝懂就是去問別人的時候茅信,實際上別人的講解并沒有完全聽懂盾舌,可能是礙于面子或者是因為不好意思打擾別人那么久,或者擔心打擾別人太久蘸鲸,所以裝作很懂妖谴。但是這樣可能忽悠得了一時,很快又會露出馬腳酌摇。這樣會搞得隔一會又要去問別人同樣的問題膝舅,這樣反而會搞得別人更加尷尬,更加為難窑多!自己也會打擾別人更多的時間仍稀!
個人建議:如果有問題去問別人,只要你問的人不是一個非常沒有耐心的人埂息。他都會耐心的解答你的問題技潘!所以遥巴,當問別人問題的時候,一定要確保自己是已經(jīng)弄懂了問題的緣由享幽,同事一遍沒解釋清楚铲掐,自己直接回答不明白,相信很多人都會再詳細的解釋一遍值桩。如果擔心同事工作忙或者其它原因摆霉,可以挑一個合適的時間!我現(xiàn)在問同事就是奔坟,要么不問携栋,要問就切底弄懂!當然了蛀蜜,我的同事都很有耐心刻两,每次我有什么問題增蹭,他們都會耐心解答滴某,甚至是擴展開來講!
10.沒理清楚需求就寫代碼
很多人在接到需求之后滋迈,第一反應就是寫代碼霎奢,即使是在自己沒把需求理清楚之前也是照樣寫代碼。另一種情況就是饼灿,很多人是邊寫代碼幕侠,邊想需求。這個開發(fā)方式碍彭,萬一自己對需求理解有誤晤硕!可能會導致自己寫的代碼,很大一部分都要修改庇忌,甚至是全部刪除重寫舞箍。沒理清楚需求就寫代碼這個情況,發(fā)生的概率應該挺大的皆疹,但是一般來說很難發(fā)現(xiàn)這個情況疏橄,畢竟程序員對代碼的增刪改查是再正常不過了!我本身也不知道略就,就是在一次的技術分享中捎迫,老大提出來的,他的建議就是對于一些稍微復雜一點的需求表牢,先理清楚需求窄绒,簡單畫個流程圖,然后在代碼里面崔兴,先寫上一點注釋彰导,再開始動手寫代碼浊闪!對于這一點,我現(xiàn)在就是在執(zhí)行當中螺戳!除非需求真的很簡單搁宾,否則我都會在草稿本上簡單畫一下流程圖。比如下面這個倔幼,這個已經(jīng)是我畫的流程圖里比較簡單的一個了盖腿。根據(jù)流程圖,寫好注釋损同,再寫代碼翩腐,這樣會比較有條理,代碼也清晰膏燃,日后的返工也可能會有茂卦,但是不會像以前那么多!在開發(fā)時間上组哩,效率上等龙,都得到了一個提升!
3.小結
web前端現(xiàn)在的行情伶贰,我不知道其它城市蛛砰,但是廣州確實是不太好,競爭也很大黍衙,差不多是100人爭一個職位泥畅,其中的原因就是培訓機構林立以及前端入門簡單。面對這樣的情況琅翻,我們能做的位仁,只有時刻學習,提升自己的技術水平方椎。這樣才能保證自己有很大的競爭力聂抢,能夠從這么多人中脫穎而出。對于學習和提升自己辩尊,除了應該有適合自己的學習方式涛浙,也該對一些妨礙進步的學習方式引以為鑒!上面10點是我自己的一些想法摄欲。希望對大家有用轿亮!最后一個就是,如果打擊有什么好的學習方式或者不好的學習方式胸墙,歡迎指點我注。讓大家交流意見,相互學習迟隅!