如何做一個(gè)好的前端重構(gòu)工程師

這里的“重構(gòu)”指的是將設(shè)計(jì)圖(比如PSD)轉(zhuǎn)換為html + css + js已维。

用這個(gè)標(biāo)題行嗤,是因?yàn)榍耙欢螘r(shí)間組里有一個(gè)開放式討論:怎樣才算一個(gè)好重構(gòu)?

其實(shí)垛耳,"好"與"壞"向來都是相對的栅屏,因?yàn)槊總€(gè)人眼中看待"好"與"壞"的標(biāo)準(zhǔn)不一樣,不如從自身的角度考慮一下:如何做一個(gè)好重構(gòu)艾扮?

先來看一個(gè)平時(shí)我們遇到的最多的兩欄布局:

前端學(xué)習(xí)交流群461593224

基本的html代碼:
前端學(xué)習(xí)交流群461593224

來看具體的CSS代碼實(shí)現(xiàn)(忽略margin):
前端學(xué)習(xí)交流群461593224

很明顯在保持同樣html結(jié)構(gòu)的情況下既琴,實(shí)現(xiàn)兩欄布局可以有多種CSS方案實(shí)現(xiàn)(左欄定寬),主要方向是用浮動或不用浮動泡嘴,右欄定寬或者不定寬:

Qzone、朋友網(wǎng)逆济、Facebook都給左欄浮動酌予,唯一不同的是右欄的寫法,Qzone給右欄定寬并且浮動奖慌,而朋友網(wǎng)和Facebook則并沒有給右欄定寬也未浮動抛虫,而是利用了創(chuàng)建BFC并且為低版本IE觸發(fā)hasLayout的原理讓右欄自適應(yīng)寬度。

Yahoo和Google兩欄都未用浮動简僧,唯一不同的是Yahoo用了絕對定位的方法建椰,而谷歌用了inline-block,Google已經(jīng)宣布旗下一些產(chǎn)品放棄對IE8 的支持岛马,所以Google可以大膽的使用inline-block去實(shí)現(xiàn)布局棉姐,不用去為其他低版本瀏覽器寫一大堆的hack。

這其中有最好的方案么啦逆?上面每一種方案都有各自的優(yōu)劣伞矩,可能適合于某種項(xiàng)目背景,同樣選用的方案可能和用戶群體也有關(guān)系夏志。雖然無論選用哪一種方案乃坤,從用戶層面來講,無法感知到,但我們不能因此去隨意的使用一種方案湿诊。

為了項(xiàng)目后期的易維護(hù)性和易用性狱杰,必須要選擇一種最佳的方案,而我們?nèi)绻B基本的BFC厅须、hasLayout這些知識都不了解便會顯得力不從心仿畸。同時(shí)要明確自己的定位:我們不僅僅是一個(gè)"切圖仔"或"美工",我們不能忽視一些障礙用戶群體九杂,我們必須去使項(xiàng)目的代碼變得更優(yōu)雅颁湖、更易用。雖然重構(gòu)的基本崗位職責(zé)是:PSD轉(zhuǎn)html + css + js例隆,但要知道僅僅做到這些還不算一個(gè)好重構(gòu)甥捺,更好的溝通能力,更多的分享镀层、思考和總結(jié)镰禾,如何正確的去關(guān)注一些前端的動態(tài),這都是我們需要做的唱逢,當(dāng)然最重要的還需要我們有一個(gè)樂觀的態(tài)度和幸福的心態(tài)吴侦,下面本人將詳細(xì)闡述到底如何做一個(gè)好重構(gòu),當(dāng)然這只是鄙人的個(gè)人觀點(diǎn)坞古,還請各位拍磚备韧。

  從專業(yè)角度:

明確的自身定位

前端學(xué)習(xí)交流群461593224

目前國內(nèi)將前端分為重構(gòu)和JS開發(fā)的并不多,雖然PS是重構(gòu)必用的一個(gè)軟件痪枫,但要知道重構(gòu)不是"切圖仔"织堂,切圖只是重構(gòu)工作內(nèi)容的一部分。我們沒有理由因?yàn)樽约菏侵貥?gòu)奶陈,而不去學(xué)習(xí)其他技術(shù)易阳,因?yàn)槟阒滥悴粫梢惠呑拥闹貥?gòu),JS不能丟吃粒,同樣的對前端新技術(shù)要熟知潦俺。重構(gòu)頁面時(shí)應(yīng)該把大部分的時(shí)間花在頁面模塊的抽離、性能優(yōu)化徐勃、易維護(hù)性事示、易用性的探索上,而應(yīng)該花最少的時(shí)間去代碼實(shí)現(xiàn)疏旨。也許你寫出來的頁面有百萬級的用戶在使用很魂,這里可能有障礙用戶,所以你要考慮各種用戶的感受與體驗(yàn)檐涝,而不僅僅是局限于代碼的完成度上遏匆。

注重前端基礎(chǔ)技能

前端學(xué)習(xí)交流群461593224

前端的基礎(chǔ)知識就像一個(gè)房子的地基法挨,如果地基打不好,一旦遇到一點(diǎn)地震可能就會倒幅聘。同時(shí)也像一個(gè)城堡的各扇門凡纳,哪邊的門造的不好,敵人的槍火就可以馬上攻破帝蒿,所以打好基礎(chǔ)是前端學(xué)習(xí)更多知識的基石荐糜。CSS屬性的特性、html標(biāo)簽的語義化葛超、JS的基礎(chǔ)知識暴氏、W3C的規(guī)范(塊格式化上下文、層疊上下文绣张、框模型等)答渔,這些可以多花點(diǎn)時(shí)間去學(xué)習(xí)和鞏固,做到能正確合理的使用某個(gè)前端技術(shù)方案侥涵。

正確對待前沿技術(shù)

前端學(xué)習(xí)交流群461593224

互聯(lián)網(wǎng)發(fā)展日新月異沼撕,前端技術(shù)更新也很快,當(dāng)我們在學(xué)css2時(shí)芜飘,css3已經(jīng)風(fēng)靡全球务豺,當(dāng)我們在學(xué)css3時(shí),css4已經(jīng)被提上了日程嗦明。前端的路上永遠(yuǎn)學(xué)無止境笼沥,所以在某項(xiàng)新技術(shù)誕生時(shí),就需要我們正確的去審視娶牌。

在做好自己本職工作的同時(shí)敬拓,保持一顆學(xué)習(xí)的熱情,新技術(shù)可以嘗試使用裙戏,但請先一定了解為什么要用這個(gè)新技術(shù)?使用這個(gè)技術(shù)能為我們帶來什么改進(jìn)厕诡?在前端技術(shù)上累榜,永遠(yuǎn)沒有最好的技術(shù)方案,只有最合適的技術(shù)方案灵嫌。最新的不一定是最好的壹罚,舊的也不一定是差的,切忌盲目跟風(fēng)學(xué)習(xí)新技術(shù)寿羞,要知道自己正在學(xué)的是否能夠?qū)W以致用猖凛。(筆者注:其實(shí)更多的時(shí)候并不是某項(xiàng)新技術(shù),技術(shù)早就誕生绪穆,只是一個(gè)新的前端解決方案或標(biāo)準(zhǔn)被推動出來了辨泳,如CSS3其實(shí)在2003年就誕生了)

更好的溝通能力

前端學(xué)習(xí)交流群461593224

我們每天可能要和開發(fā)虱岂、產(chǎn)品、設(shè)計(jì)菠红、交互第岖、測試等不同的人打交道,所以這就需要我們有一個(gè)更好的溝通協(xié)調(diào)能力试溯,注重一個(gè)更好的溝通技巧蔑滓,減少溝通上的成本。"一切以用戶的價(jià)值為依歸"遇绞,這也正是互聯(lián)網(wǎng)行業(yè)所需要的一種理念键袱,在與其他同事溝通時(shí)除了真誠待人以外,還需要多為用戶去考慮:我們真的需要這么做么摹闽?

有選擇的參加技術(shù)論壇

前端學(xué)習(xí)交流群461593224

如果自己呆在一個(gè)小公司蹄咖,前端人也不是很多,沒有一個(gè)很好的氛圍钩骇,那么這時(shí)我們就只能通過兩種方式來拓寬人脈:網(wǎng)絡(luò)和論壇比藻。網(wǎng)絡(luò)如QQ群、藍(lán)色理想等倘屹,而面對面的論壇無疑是最真實(shí)的一種拓寬人脈的方式银亲。其實(shí)現(xiàn)在國內(nèi)大的環(huán)境下,前端類的技術(shù)論壇我自己都數(shù)不過來纽匙,這時(shí)有選擇的參加一個(gè)論壇顯得尤為重要务蝠,而不該不管自己懂不懂、免費(fèi)還是收費(fèi)什么論壇都去參加烛缔,其實(shí)適合自己的是最重要的馏段。

關(guān)注瀏覽器廠商

前端學(xué)習(xí)交流群461593224

10年前,IE統(tǒng)治了大半個(gè)地球践瓷,如今院喜,其他的各大瀏覽器廠商已擠進(jìn)全球化份額爭奪戰(zhàn),最離不開前端的就是瀏覽器晕翠,關(guān)注瀏覽器廠商的動作與格局可以讓你擁有前瞻性的視角喷舀。一些瀏覽器廠商的開發(fā)者庫:微軟的MSDN,火狐的MDN淋肾,谷歌的開發(fā)者庫硫麻,歐朋(Opera)的開發(fā)者庫。另外可以關(guān)注下各瀏覽器廠商的推廣活動樊卓,火狐中國會在每一次推出新版本時(shí)有體驗(yàn)活動拿愧,微軟的最新的IE10推出時(shí)國內(nèi)也有推廣活動,可以了解這些新版本瀏覽器的特性以及對css3\html5的支持性如何碌尔。

  更多的承擔(dān)和分享

在平時(shí)更多的去承擔(dān)一些額外的工作浇辜,譬如在重構(gòu)團(tuán)隊(duì)的協(xié)作規(guī)范券敌、編碼規(guī)范上提出自己的一些合理化建議,輸出一些利于其他同事更快奢赂、更高效提升的文檔陪白。平時(shí)在自己工作遇到了一些好的工作方法或者對一些新技術(shù)的研究可以拿出來和大家分享。重構(gòu)的團(tuán)隊(duì)氛圍很重要膳灶,誰都不希望呆在一個(gè)整天只管自己寫代碼的團(tuán)隊(duì)咱士,那樣不管對于個(gè)人還是團(tuán)隊(duì)都是不利的。

  更多的思考與總結(jié)

思考指的是"意識流"轧钓,具體是我們在重構(gòu)過程中的想法和理念序厉,怎么想決定了我們怎么做。

作為重構(gòu)毕箍,很多人拿到設(shè)計(jì)稿之后就是開始埋頭切圖弛房,用各種"奇技淫巧"實(shí)現(xiàn)各種需求,我們甚至不會在拿到設(shè)計(jì)稿之后仔細(xì)的做一下分析:如何做一個(gè)合理的架構(gòu)而柑、如何抽取合適的模塊文捶、如何用更優(yōu)雅的方式和輕量的代碼實(shí)現(xiàn)頁面中的需求。

也許是目前大的環(huán)境下在催促著我們不斷的向前跑:各種前端論壇大多數(shù)都在講某個(gè)技術(shù)媒咳,糾結(jié)于某一技術(shù)細(xì)節(jié)的實(shí)現(xiàn)粹排,講爛掉的性能優(yōu)化,可很少有人去講該如何合理的選擇一個(gè)前端解決方案涩澡,如何解決重構(gòu)中遇到的一系列不同場景中的問題顽耳,以及最重要的我們自己的職業(yè)生涯思考:我們是準(zhǔn)備寫一輩子代碼么?

總結(jié)也叫"review"妙同,是復(fù)習(xí)射富、回顧的意思,review對于重構(gòu)來講粥帚,顯得尤為重要胰耗,定期的項(xiàng)目回顧能夠發(fā)現(xiàn)項(xiàng)目中存在的問題從而規(guī)避以后再次出現(xiàn)。

當(dāng)然項(xiàng)目回顧是一方面芒涡,更重要的是代碼層面的review宪郊,不定期的review可以促使我們在一些代碼的細(xì)節(jié)把控方面做的更優(yōu)雅,review除了可以提高代碼的品質(zhì)外拖陆,還能加強(qiáng)團(tuán)隊(duì)的協(xié)作精神,以及提高團(tuán)隊(duì)的整體技術(shù)能力懊亡。顯然這是一件非常有意義的事依啰。團(tuán)隊(duì)成員可以在一起review大家的代碼,發(fā)現(xiàn)每個(gè)人身上的不足和亮點(diǎn)店枣,不然我們真的是只管埋頭自己代碼的苦逼代碼仔了速警。

  從生活角度:

保持閱讀的熱情

前端學(xué)習(xí)交流群461593224

網(wǎng)絡(luò)的信息是碎片化的叹誉,在我們沒有很好的梳理碎片能力的時(shí)候,一本實(shí)物書籍對于慰藉我們的心靈顯得尤為重要闷旧。有時(shí)生活长豁、工作會讓人壓的喘不過氣來,這時(shí)忙灼,我們需要去尋找一種方式去釋放壓力匠襟,嗯,閱讀是一種很好的方式该园。

堅(jiān)持一項(xiàng)運(yùn)動愛好

前端學(xué)習(xí)交流群461593224

平時(shí)工作太忙時(shí)酸舍,切記一定要改變自己的工作方法,梳理好需求的優(yōu)先級里初,預(yù)留出一定的時(shí)間來放松自己啃勉,這個(gè)放松一定要讓自己的筋骨活動開,可以是去打打羽毛球双妨,或者去跑步淮阐,再或者去健身。只有讓自己的身體變得強(qiáng)大起來刁品,才有更多的能量值去砍怪升級泣特。

保持樂觀的生活態(tài)度

前端學(xué)習(xí)交流群461593224

善于捕捉生活中的一些細(xì)小的幸福顆粒,我們就會經(jīng)逞普铮活在快樂中群扶。上次在騰訊健康加油站聽了一次關(guān)于生活的分享,其中提到"生活就像燉雞湯镀裤,有時(shí)需要加點(diǎn)調(diào)料和沾料"竞阐,的確,這些沾料就是發(fā)現(xiàn)生活中的細(xì)小幸福暑劝,做一個(gè)樂觀骆莹、豁達(dá)、開朗的前端人士担猛。調(diào)節(jié)好工作和生活的平衡幕垦,讓自己不要再活的那么累。

嗯傅联,做個(gè)好重構(gòu)真的挺不容易的先改,無論是從專業(yè)角度還是從生活角度,缺一不可蒸走,保持一個(gè)樂觀仇奶、熱情、積極的心比驻,不斷學(xué)習(xí)该溯,讓自己活得簡單岛抄、快樂,此足矣狈茉。

其實(shí)夫椭,你不僅是在重構(gòu)代碼,也是在重構(gòu)人生氯庆!

學(xué)習(xí)前端的同學(xué)注意了2淝铩!点晴!
學(xué)習(xí)過程中遇到什么問題或者想獲取學(xué)習(xí)資源的話感凤,歡迎加入前端學(xué)習(xí)交流群461593224,我們一起學(xué)前端粒督!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末陪竿,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子屠橄,更是在濱河造成了極大的恐慌族跛,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,576評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件锐墙,死亡現(xiàn)場離奇詭異礁哄,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)溪北,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評論 3 399
  • 文/潘曉璐 我一進(jìn)店門桐绒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人之拨,你說我怎么就攤上這事茉继。” “怎么了蚀乔?”我有些...
    開封第一講書人閱讀 168,017評論 0 360
  • 文/不壞的土叔 我叫張陵烁竭,是天一觀的道長。 經(jīng)常有香客問我吉挣,道長派撕,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,626評論 1 296
  • 正文 為了忘掉前任睬魂,我火速辦了婚禮终吼,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘氯哮。我一直安慰自己衔峰,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,625評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著垫卤,像睡著了一般。 火紅的嫁衣襯著肌膚如雪出牧。 梳的紋絲不亂的頭發(fā)上穴肘,一...
    開封第一講書人閱讀 52,255評論 1 308
  • 那天,我揣著相機(jī)與錄音舔痕,去河邊找鬼评抚。 笑死,一個(gè)胖子當(dāng)著我的面吹牛伯复,可吹牛的內(nèi)容都是我干的慨代。 我是一名探鬼主播,決...
    沈念sama閱讀 40,825評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼啸如,長吁一口氣:“原來是場噩夢啊……” “哼侍匙!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起叮雳,我...
    開封第一講書人閱讀 39,729評論 0 276
  • 序言:老撾萬榮一對情侶失蹤想暗,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后帘不,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體说莫,經(jīng)...
    沈念sama閱讀 46,271評論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,363評論 3 340
  • 正文 我和宋清朗相戀三年寞焙,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了储狭。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,498評論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡捣郊,死狀恐怖辽狈,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情模她,我是刑警寧澤稻艰,帶...
    沈念sama閱讀 36,183評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站侈净,受9級特大地震影響尊勿,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜畜侦,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,867評論 3 333
  • 文/蒙蒙 一元扔、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧旋膳,春花似錦澎语、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,338評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽尸变。三九已至,卻和暖如春减俏,著一層夾襖步出監(jiān)牢的瞬間召烂,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,458評論 1 272
  • 我被黑心中介騙來泰國打工娃承, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留奏夫,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,906評論 3 376
  • 正文 我出身青樓历筝,卻偏偏與公主長得像酗昼,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子梳猪,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,507評論 2 359

推薦閱讀更多精彩內(nèi)容