【WEB前端經驗之談】沒有速成,只有不斷積累。


2013年8月25日,我人生中的第一份正式工作開始了,第一份工作做的是當時學習的asp.net,用的是C#語言。

到第一家公司上班是公司是做一個OA系統,不過我去的時候大部分都已經完成了,剩下的都是細節和BUG處理,而就在第一份工作3個月后,我就走上了自己的路,准確的說,我是從2014年才開始自己真正的前端之行。

2014年3月初,辭職,休息了一個月,因為離職原因是我想轉方向,從后端轉到前端,我現在還記得當時主管簽我的離職協議說的那句話:“不就簽個字嘛,這個很簡單的。”,確實,對已經走到主管這個位置的人來說,簽個字是很輕松的事,但是對於一個初入職場的白丁來說,任何選擇都必須經過自己的慎重考慮,不然一步走錯就沒有后悔的機會。

第一份工作辭職原因是因為我重新給自己定下了一個人生目標‘前端工程師’,當然,現在想想也是當時對前端這塊理解還不夠深入,因為我自己還有個目標就是‘架構師’,所以在2014年4月初,找到了自己第一份前端工作,但是由於總總原因,在這個公司只待了2個多月時間就辭職了。

2014年6月中旬,我的第3份工作,也就是現在的工作,在公司主要是做公司自己網站的頁面,但是待了幾個月后對公司里面各種問題和各種看法也不斷的糾纏自己離職的心情,所以如果沒有意外將在今年3月中旬離職。

ok,所了這么多廢話,也該開始本文的主題了。

WEB前端,不知道什么時候出現的這個名詞,向前看幾年,WEB前端也就是集設計、切片(寫頁面)、js處理、兼容處理於一身的美工,現在回過頭去看。可以說幾年前的WEB前端就是一個打雜的人員,因為很多頁面后台人員就可以搞定,所以那時一個中小型公司需要真正的一個WEB前端人員的很少,而且那時候WEB前端也還不成熟。(下面的前端皆為WEB前端)。

但是,就在這幾年里面,前端卻發生了翻天覆地的變化,各種框架滿天飛,各種交互、各種插件等等,也就導致了現在很多初學者學會了懶惰,以至於接觸了N多框架、插件,整理出了幾個比較入眼的特效然后就到一個公司5K、6K的要價,然后被公司各種等通知p掉。

看到這里可能有的人覺得不服氣了,但是你還真別不服氣,這一年時間接觸前端,我也僅僅感覺自己才入門而已。

我們先不說如何手寫代碼,先來看看代碼的工整性。

先來一段HTMl代碼:

<ul>
<div></div> <a href="#"><li></li></a> </ul>

  ok,代碼的排列格式不說,a標簽包裹li標簽,不知道有多少人用過,反正我到現在為止沒有這么用過。

現在html5也正式落地了,html5中有個提議就是代碼的可閱讀性和對seo的友好性進行了優化,多了header、footer、nav等一些含義明顯的標簽,而這里ul標簽下面直接出現了div和a標簽,本身就是對ul標簽的一個誤用,當然,這里可能有人說加一個a標簽方便點擊鏈接啊,如果你這么認為我也就無法可說了,確實,我也不明白這么寫有什么不好,瀏覽器能解析、代碼也可以完美的格式化。但是,這樣的邏輯意義何在?

問題這里先不做解答,再來一段css

a{display:block;}
a.info{display:block}
a.info{color:#f00}

  這是一個簡單的css樣式,當然如果你的參數是上面那種情況我建議你做一下優化,或者去了解下css樣式的作用域和優先級,很多代碼其實都是重復的,有時候花點時間去優化,或者寫的時候就避免這種情況更好(我現在所在的公司就是這個情況,上面老大不做,我們這些小兵也只有干瞪眼).

最后來段js

if(true)
alert(0)
if(true)
alert(1)

  如果你想編寫一個閱讀性好的代碼,請在if的執行內容放在一個大括號內,雖然這樣也可以執行,但是,如果代碼太多了,這樣的代碼讀起來很累,也不利於格式化,當然,如果你要壓縮就另當別論了。(我用的ide是vs,保存的時候可以自動壓縮一個文件包括js、css、html)

綜上所述,其實希望初學者在開始學習編碼的時候保持一個代碼精簡不重復、格式和邏輯清晰的風格,這樣對你未來的工作有很大幫助。

下面貼一段我寫的代碼,僅供參考

                    _run = function (run) {
                        run = run || true;
                        //清除一下定時器
                        window.clearTimeout(zd.public.cache[_cName]);
                        zd.public.cache[_cName] = null;
                        _op.num += 1;
                        if (_op.num >= 0 && run) {//判斷主動關閉或者次數達到限制
                            zd.public.cache[_cName] = window.setTimeout(function () {
                                //傳出:【當前次數倒數,運行方法】
                                _op.fn(_op.num, _run);
                            }, _op.time);

                        } else {
                            _exit();
                        }
                    },

  這段代碼是截取我寫的一個js里面的一小段內容,當然,格式是有IDE自動處理的,這樣也讓我保持了一個格式清晰的編碼風格,對於代碼混亂的文檔看着也很頭疼。

如果你是新手,編寫代碼建議你學會使用ide,當然,在你知道某個代碼意思的情況下,雖然在學校的時候老師習慣叫我們手寫代碼,但是我推薦使用ide,ide的智能提示可以提高編碼速度,自動格式化功能讓你在編寫代碼的過程中也不會出現層次不清晰的情況,所有代碼一覽無余。別人看你的代碼也不累。

作為初學者,養成一個良好的編碼習慣對自己的好處不少,當然你還要學習更多的東西,下面是對初學者的一些建議,僅供參考。

1.學會自己寫東西,不要動不動就拷貝別人的代碼。

  任何東西,自己會了才是王道,如果你學會的只是拷貝,那么前端的路你也止步於此了。

2.兼容性要做,但是首先學會拋棄。

  到目前為止,前端的兼容也還是前端人員一個頭疼的問題,css兼容、html兼容和js兼容,初學者可能不會想到同樣的一段js在谷歌、ie、火狐中執行的結果不一樣,嚴重的直接報錯,但是,兼容性不是你首要做的,現在兼容性問題都已經很少了,大多數都是因為低版本問題,我相信過幾年后低版本基本上都會沒有了,而初學者現在所需要學習的怎么去編寫代碼,而不是怎么去處理兼容。(現在很多兼容性問題百度一下就出來了)

3.打牢基礎,慢慢成長。

  現在很多人習慣用jq的dom操作,到過來純js的操作都不會了,這樣下去是對自己的不負責任,我現在就是這個情況,jq用得很習慣,但是純js操作卻一塌糊塗,現在還得花時間去學習基礎。

4.減少頁面的資源鏈接,執行代碼放在頁尾。

  減少資源鏈接,是對網站加載的提速,執行代碼放在頁尾,也是對網站加載的提速,對與用戶而言,花大部分時間去加載一個網頁已經很痛苦了,所以我們要從一開始學會如何優化網頁。

5.前端做的事情不少。

  在你打算學前端的時候就要做到學會前后通吃、頁面架構、ued、seo等等,前端現在發展起來了,水也開始深了,一定要保持一個不斷學習周邊知識的心態,你不可能編寫一輩子代碼,而是用僅有的代碼發揮更大的作用。

6.拋舊成新。

  html5+css3的時代,之前的html和css能拋棄一部分就拋棄一部分,從新學起,不然等你學會時你已經晚了。

7.路要一步一步走,目標要不斷堅持。

  前端學起來沒有后端的枯燥,但是入門容易深入難,現在很多前端人員不是設計轉型過來就是后台轉型過來的,但是,前端的js的水最深,里面的東西也是最多的,要編寫好js程序,首先給自己明確目標,然后就是不斷的堅持,多百度,多看看大神的源碼,對你幫助很大。

這篇文章就到這里了,希望能給到初學者一些幫助,這篇文章沒有多深的水分,不過對於初學者來說還是有點小用。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM