前兩天,我的朋友@戡玉 寫了一篇文章前端心得體會(huì),應(yīng)他的邀請(qǐng),也讓我表述下自己得想法,讓我們可以相互參考,共同進(jìn)步
本文觀點(diǎn)為個(gè)人之拙見(jiàn),如有雷同純屬知己,如有相勃,請(qǐng)輕輕的拍磚。
自述
我來(lái)自一個(gè)南方的二線城市,現(xiàn)在從事IT行業(yè),職位名稱為web前端,實(shí)際應(yīng)該只能算頁(yè)面仔水平!2014年9月,我放棄了本職的礦產(chǎn)勘查工作,回到老家,那時(shí)候又一個(gè)同學(xué)說(shuō)你現(xiàn)在可以去學(xué)習(xí)安卓開(kāi)發(fā),將來(lái)我需要你幫忙。我在網(wǎng)上搜尋了一番,也問(wèn)了幾個(gè)從事IT的同學(xué),后面選擇了星城的*大*鳥(自主打碼,不做免費(fèi)的廣告)。當(dāng)時(shí),招生導(dǎo)師承諾的是,你來(lái)我們學(xué)校先學(xué)習(xí)java web 然后到培訓(xùn)后期會(huì)有機(jī)會(huì)接觸安卓開(kāi)發(fā)的。
學(xué)習(xí)到臨近畢業(yè)之時(shí)依然沒(méi)有開(kāi)安卓課程的計(jì)劃,但是在課程學(xué)習(xí)之中,漸漸的對(duì)簡(jiǎn)單編碼技能在瀏覽器產(chǎn)生各種效果的前端感興趣了。自此便從慕課網(wǎng)上開(kāi)始自學(xué)web前端的生涯。
我心中的前端
-
初期形態(tài)
html、css、javascript,剛開(kāi)始學(xué)習(xí)的時(shí)候,我的映像中前端只需要還原UI的設(shè)計(jì)稿,并介紹交互動(dòng)畫,交互效果。
-
進(jìn)階形態(tài)
第一個(gè)項(xiàng)目,一個(gè)****電商網(wǎng)站的制作:PC、Mobile兩個(gè)端的頁(yè)面制作,我自己完成所有頁(yè)面制作的時(shí)候,降幅給了后端。然后我以為就沒(méi)有事情了,真正激發(fā)我對(duì)前端開(kāi)發(fā)業(yè)務(wù)范圍改變是在后端數(shù)據(jù)展示完成之后 測(cè)試階段,出現(xiàn)了各種界面亂,效果失效等問(wèn)題的出現(xiàn),讓我意識(shí)到,其實(shí)在現(xiàn)行的mvc開(kāi)發(fā)框架中 整個(gè)V都應(yīng)該由前端來(lái)完成,如果甘于做一個(gè)切圖仔永遠(yuǎn)不會(huì)得到團(tuán)隊(duì)的重視,不會(huì)讓老板看到你直接的勞動(dòng)成功,也不能保證你的效果不被后端玩壞。就像前段時(shí)間在某群眾 @蘭悅兒 前輩所說(shuō)的一樣,不掌握業(yè)務(wù),前端開(kāi)發(fā)就沒(méi)有話語(yǔ)權(quán)。
畢竟現(xiàn)在的網(wǎng)站數(shù)據(jù)大多是動(dòng)態(tài)的,切圖仔的靜態(tài)頁(yè)面是永遠(yuǎn)不可能在用戶面前呈現(xiàn)的(靜態(tài)內(nèi)容,也是由模板拼接的,畢竟網(wǎng)站的用戶信息模塊都是需要的)。
于是那時(shí)候我就開(kāi)始咨詢身邊的朋友,他們告訴我的方法是,學(xué)習(xí)JSP、ASP、php等后端模板語(yǔ)言,自己來(lái)負(fù)責(zé)數(shù)據(jù)的展示,在完成后能夠及時(shí)的更改樣式,并且保證頁(yè)面效果與設(shè)計(jì)稿效果一致。
-
現(xiàn)存形態(tài)
經(jīng)歷一年多的工作,以及業(yè)余時(shí)間和互聯(lián)網(wǎng)上認(rèn)識(shí)到的朋友、現(xiàn)實(shí)中認(rèn)識(shí)到的同事(前同事)交流,現(xiàn)在我心目中的前端是:
- 能夠根據(jù)設(shè)計(jì)稿編寫頁(yè)面,并且符合W3C規(guī)范,兼顧SEO優(yōu)化
- 能完成頁(yè)面中動(dòng)態(tài)效果的實(shí)現(xiàn),并且熟練的使用常用的類庫(kù)(JQ),UI框架(bootsharp)來(lái)簡(jiǎn)化開(kāi)發(fā)過(guò)程
- 能夠根據(jù)原型、需求文檔,考慮頁(yè)面中應(yīng)該存在的數(shù)據(jù),并且能夠優(yōu)化其數(shù)據(jù)結(jié)構(gòu),以數(shù)據(jù)來(lái)維護(hù)頁(yè)面
- 能夠?qū)?shù)據(jù)渲染成動(dòng)態(tài)網(wǎng)頁(yè),使用包括但不局限于 前端MVVM框架,后端JSP、ASP、PHP、nodeJS模板,前端模板引擎,來(lái)渲染從后端獲得的數(shù)據(jù),
- 能夠維護(hù)客戶端數(shù)據(jù)與DOM之間的關(guān)系
- 能夠用模塊化的思想來(lái)編寫html、css、javascript代碼,并且熟練使用模塊加載器(例如requireJS、seaJS),或?qū)ommonJS模塊打包,能使用sass、less等預(yù)編譯語(yǔ)言,提高css的可讀性、可維護(hù)性。
- 能夠使用自動(dòng)化工具(例如gulp、webpack),來(lái)完成前端代碼打包、壓縮、路徑修改、雪碧圖合成等。
我心中的代碼
-
為業(yè)務(wù)服務(wù),但不被業(yè)務(wù)所束縛
單例模式、解耦合、模塊化,不管是哪種方式或者說(shuō)法,都是我作為一個(gè)新人所應(yīng)該學(xué)習(xí)的
代碼要往可維護(hù),可拓展和可共用上考慮,復(fù)雜業(yè)務(wù)要學(xué)會(huì)建模,分解和細(xì)化 @戡玉——前端心得體會(huì)
可復(fù)用、可維護(hù)的代碼,由如鐵桿成針,須我們自己在編程的道路上多積累,多磨練。在產(chǎn)品各種想法中,痛并快樂(lè)的啪啪啪。Think more , Write less。在折磨鍵盤之前,用我們?nèi)f能的腦子(這是個(gè)好東西,我想每個(gè)人都有,或者說(shuō)都應(yīng)該有),經(jīng)過(guò)周全的思考,再來(lái)完成代碼的雛形。并且可以多參照別人的想法,取其精華,去其糟粕。完善自己的代碼。并在以后的開(kāi)發(fā)、使用中不斷的完善自己的代碼。
-
為他人所用,為后人所能修改
駝峰命名、構(gòu)造函數(shù)首字母大寫、適當(dāng)?shù)淖⑨?、清晰有條理的文檔。這些條條框框,約束并且應(yīng)該約束著我們的代碼,提高我們代碼的可讀性。
任何語(yǔ)言和技術(shù)知識(shí)都只是編程的工具,培養(yǎng)編碼的思想和設(shè)計(jì)更重要
基礎(chǔ)才是王道!以不變破萬(wàn)變!
@戡玉——前端心得體會(huì)
代碼可讀性關(guān)乎著代碼的可讀性。一份條理清晰,表達(dá)明了的文檔,規(guī)范的命名。對(duì)于后期的維護(hù),將會(huì)更加的輕松。也利于別人的使用和修改。命名規(guī)范的代碼,能夠讓碼農(nóng)們看到你的代碼就像看到母語(yǔ)般親切。如達(dá)此程度,可能注釋和文檔都顯得是為門外漢所準(zhǔn)備的了。
我對(duì)前端的追求之路
-
以文檔為基石
平常學(xué)習(xí)前端,除了imooc,等視頻網(wǎng)站,最多的 就是翻看W3C 的文檔,了解新標(biāo)準(zhǔn),理解已有的標(biāo)準(zhǔn),查詢新標(biāo)準(zhǔn)的兼容性等問(wèn)題(不過(guò)對(duì)于IE系列瀏覽器天生不感冒,所以目前自己得知識(shí)棧中,并無(wú)太多IE hack的知識(shí)),此類基礎(chǔ)文檔,不斷的翻看,總能達(dá)到溫故而知新的效果。 -
勤學(xué)多練,百煉成鋼
我恩師,在和我們的日常的交流中,總是習(xí)慣用一個(gè)詞“厚積而薄發(fā)”,誠(chéng)如,我們師兄弟姐妹中,很多都是前端新人。我想恩師此語(yǔ)之意應(yīng)該是勉勵(lì)我們勤學(xué)多練。實(shí)踐出真知這詞,鄧爺爺用中國(guó)經(jīng)濟(jì)的騰飛,給我們生動(dòng)的演繹出來(lái)。對(duì)于技術(shù)行業(yè),光說(shuō)不練肯定不能進(jìn)步,久而久之,只能為行業(yè)所淘汰,要么永久的呆在切圖仔的崗位,要么轉(zhuǎn)行。技術(shù)行業(yè)本如逆水行舟,不進(jìn)步,終將被淘汰
結(jié)語(yǔ)
至此,本輪扯淡完畢,如有不足,歡迎補(bǔ)充。如有建議歡迎下拉評(píng)論,必將改進(jìn)!以造福眾WEBer