1
學(xué) ?習(xí) ?篇
學(xué)習(xí)前端,首先建議大家打好基礎(chǔ)。這里的基礎(chǔ)分為兩大類:計算機基礎(chǔ)和專業(yè)基礎(chǔ)。
有些人可能會認為:即使沒有這些基礎(chǔ)也能做前端(這也是不少人說前端門檻低的原因),但是對這些基礎(chǔ)知識的掌握情況和理解程度決定了我們可以走多遠。這部分的學(xué)習(xí)是一個循序漸進的過程,不可能一蹴而就。
從前端學(xué)習(xí)的曲線來講,它是先平緩再陡峭再平緩。在學(xué)習(xí)曲線變陡峭那一段,很多人卡在那里。所以就有了我們現(xiàn)在看到的:一堆初級前端找不到工作,一堆公司招不到好前端。公司要的是經(jīng)歷陡峭之后的那些人。
那如何學(xué)習(xí)這些基礎(chǔ)知識呢?
我建議從書籍、代碼、標準三方面入手。
書籍:當(dāng)需要了解某個知識點時,可以多看幾本相關(guān)書籍,看不同作者對這個問題的不同闡述,加深自己的理解。對比著看效果更好。
代碼:檢驗我們是否已經(jīng)掌握知識的好辦法就是閱讀代碼。它不僅幫助我們加深對知識的理解,還可以查漏補缺,讓我們得到一些新的啟示。有哪些源碼值得我們?nèi)プx呢?
書籍里的代碼
前輩們留下來的代碼
論壇里的經(jīng)驗
某個網(wǎng)站的代碼
很多開源代碼都可以作為我們的參考來源
歸納總結(jié)自己以前寫的代碼,你會得到不一樣的驚喜
標準:當(dāng)我們平時遇到問題時,需要追本溯源。而查閱標準就是關(guān)鍵。互聯(lián)網(wǎng)技術(shù)更新迭代太快,而且網(wǎng)絡(luò)上的資源良莠不齊。所以我們甄別的重要方法之一就是查閱標準。前端相關(guān)的標準主要分為兩方面,即行業(yè)標準和廠商標準。
制定行業(yè)標準的組織主要包括:ecma組織/IETF組織/W3C組織
制定廠商標準的平臺主要包括:IE/Chrome/火狐等
2
實 ?踐 ?篇
實踐階段對于遇到瓶頸的同學(xué)十分重要,因為不管以什么樣的方式去學(xué)習(xí),最終目的就是為了解決實際問題。
圍繞著實踐中的問題,實際上可以分為:發(fā)現(xiàn)問題、分析問題、解決問題、沉淀問題四個方面。
發(fā)現(xiàn)問題的途徑有很多,包括產(chǎn)品的功能需求、開發(fā)的非功能要求以及疑問、建議、抱怨等。更多的時候需要前端工程師進行思考和歸納,這也是我們面臨的挑戰(zhàn)。
當(dāng)我們發(fā)現(xiàn)問題時,不要急于上手解決,要分析問題的本質(zhì),確定產(chǎn)生問題的因素,和多方溝通,提出多種解決方案,分析各自利弊,再對照實際情況做出取舍最后解決問題。
在業(yè)務(wù)中,80% 的bug主要是業(yè)務(wù)邏輯考慮不全面,漏掉邏輯判斷處理,數(shù)據(jù)格式不規(guī)范等引發(fā)的。這種bug改起來比較快,但是容易往復(fù)循環(huán),或者引入新的bug。這些bug切碎了開發(fā)者的有效工作時間。
另外還有15%的bug是由開發(fā)者自身coding的問題引發(fā),屬于技術(shù)性的bug,但隨著開發(fā)者對軟件平臺以及框架的熟悉,自身編程水平以及編程素養(yǎng)的提升,這類 bug會逐漸減少。
最后,對問題進行沉淀,加深理解,進而將簡單問題的解決方式應(yīng)用于復(fù)雜問題情況下,這也是提升的方式。