收藏本站|设为首页

您现在的位置: 首页 > 新闻中心 > 建站经验 > 详细内容

若何做一个好重构

2012-12-18 09:20 来源: 卓杰科技 www.zhuojie.net [ ]

用这个问题,是因为前一段时刻组里有一个开放式谈判:若何才算一个好重构?

其实,"好"与"坏"历来都是相对的,因为每小我眼中看待"好"与"坏"的尺度纷歧样,不如年夜自身的角度考虑一下:若何做一个好重构?

先来看一个日常平常我们碰着的最多的两栏结构:

根基的html代码:

来看具体的CSS代码实现(忽略margin):

很较着在连结同样html结构的情形下,实现两栏结构可以有多种CSS方案实现(左栏定宽),首要标的目的是用浮动或不用浮动,右栏定宽或者不定宽:

Qzone、伴侣网、Facebook都给左栏浮动,独一分歧的是右栏的写法,Qzone给右栏定宽而且浮动,而伴侣网和Facebook则并没有给右栏定宽也未浮动,而是操作了建树BFC而且为低版本IE触发hasLayout的事理让右栏自顺应宽度。

Yahoo和Google两栏都文暌姑浮动,独一分歧的是Yahoo用了绝对定位的体例,而谷歌用了inline-block,Google已经公布揭晓旗下一些产物抛却对IE8 的撑持,所以Google可以斗胆的使用inline-block去实现结构,不用去为其他低版本浏览器写一年夜堆的hack。

这其中有最好的方案么?膳缦沔每一种方案都有各自的口角,可能适合于某种项目布景,同样选用的方案可能和用户群体也有关系。虽然无论选用哪一种方案,年夜用户层面来讲,无法感知到,但我们不能是以去随意的使用一种方案。

为了项目后期的易维护性和易用性,必需要选择一种最佳的方案,而我们如不美观连根基的BFC、hasLayout这些常识都不体味便会显得力有未逮。同时要明晰自己的定位:我们不仅仅是一个"切图仔"或"美工",我们不能轻忽一些障碍用户群体,我们必需去使项目的代码变得更优雅、更易用。虽然重构的根基岗位职责是:PSD转html + css + js,但要知道仅仅做到这些还不算一个好重构,更好的沟通能力,更多的分享、思虑和总结,若何正确的去关注一些前端的动态,这都是我们需要做的,当然最主要的还需要我们有一个乐不美观的立场和幸福的心态,下面本人将具体阐述到底若何做一个好重构,当然这只是不才的小我不雅概念,还请列位拍砖。

年夜专业角度:

明晰的自身定位

今朝国内将前端分为重构和JS开发的并不多,虽然PS是重构必用的一个软件,但要知道重构不是"切图仔",切图只是重构工作内容的一部门。我们没有理由因为自己是重构,而不去进修其他手艺,因为你知道你不会干一辈子的重构,JS不能丢,同样的对前端新手艺要熟知。重构页面时应该把年夜部门的时刻花在页面模块的抽离、机能优化、易维护性、易用性的试探上,而应该花起码的时刻去代码实现。也许你写出来的页面有百万级的用户在使用,这里可能有障碍用户,所以你要考虑各类用户的感应感染与体验,而不仅仅是局限于代码的完成度上。

注重前端基本手艺

前端的基本常识就像一个房子的地基,如不美观地基打欠好,一旦碰着一点地震可能就会倒。同时也像一个城堡的各扇门,哪边的门造的欠好,仇敌的枪火就可以马上攻破,所以打好基本是前端进修更多常识的基石。CSS属性的特征、html标签的语义化、JS的基本常识、W3C的规范(块名目化上下文、层叠上下文、框模子等),这些可以多花点时刻去进修和巩固,做到能正确合理的使用某个前端手艺方案。

正确看待前沿手艺

互联网成长日新月异,前端手艺更新也很快,当我们在学css2时,css3已经风靡全球,当我们在学css3时,css4已经被提上了日程。前端的路上永远学无绝顶,所以在某项新手艺降生时,就需要我们正确的去审阅。

在做好自己本职工作的同时,连结一颗进修的热情,新手艺可以考试考试使用,但请先必然体味为什么要用这个新手艺?使用这个手艺能为我们带来什么改良?在前端手艺上,永远没有最好的手艺方案,只有最合适的手艺方案。最新的不必然是最好的,旧的也不必然是差的,切忌盲目跟风进修新手艺,要知道自己正在学的是否能够学甚至用。(笔者注:其实更多的时辰并不是某项新手艺,手艺早就降生,只是一个新的前端解决方案或尺度被敦促出来了,如CSS3其其实03年就降生了)

更好的沟通能力

我们天天可能要和开发、产物、设计、交互、测试等分歧的人打交道,所以这就需要我们有一个更好的沟通协调能力,注重一个更好的沟通技巧,削减沟凸亓成本。"一切以用户的价值为依归",这也恰是互联网行业所需要的一种理念,在与其他同事沟通时除了真诚待人以外,还需要多为用户去考虑:我们真的需要这么做么?

有选择的加入手艺论坛

如不美观自己呆在一个小公司,前端人也不是良多,没有一个很好的空气,那么这时我们就只能经由过程两种体例来拓宽人脉:收集和论坛。收集如QQ群、蓝色理想等,而面临面的论坛无疑是最真实的一种拓宽人脉的体例。其实此刻国内年夜的情形下,前端类的手艺论坛我自己都数不外来,这时有选择的加入一个论坛显得尤为主要,而不应不管自己懂不懂、免费仍是收费什么论坛都去加入,其实适合自己的是最主要的。

关注浏览器厂商

10年前,IE统治了年夜半个地球,现在,其他的各年夜浏览器厂商已挤进全球化份额争夺战,最离不开前端的就是浏览器,关注浏览器厂商的动作与名目可以让你拥有前瞻性的视角。一些浏览器厂商的开发者库:微软的MSDN,火狐的MDN,谷歌的开发者库,欧朋的开发者库。此外可以关注下各浏览器厂商的推广勾当,火狐中国会在每一次推出新版本时有体验勾当,微软的最新的IE10推出时国内也有推广勾当,可以体味这些新版本浏览器的特征以及对css3\html5的撑持性若何。

更多的承担和分享

在日常平常更多的去承担一些额外的工作,譬如在重构团队的协作规范、编码规范上提出自己的一些合理化建议,输出一些利于其他同事更快、更高效晋升的文档。日常平常在自己工作碰着了一些好的工作体例或者对一些新手艺的研究可以拿出来和巨匠分享。重构的团队空气很主要,谁都不但愿呆在一个成天尽管自己写代码的团队,那样不管对于小我仍是团队都是晦气的。

更多的思虑与总结

思虑指的是"意识流",具体是我们在重构过程中的设法和理念,怎么想抉择了我们怎么做。

作为重构,良多人拿到设计稿之后就是起头静心切图,用各类"事业淫巧"实现各类需求,我们甚至不会在拿到设计稿之后细心的做一下剖析:若何做一个合理的架构、若何采纳合适的模块、若何用更优雅的体例和轻量的代码实现页面中的需求。

也许是今朝年夜的情形下在催促着我们不竭的向前跑:各类前端论坛年夜年夜都都在讲某个手艺,纠结于某一手艺细节的实现,讲烂失踪的机能优化,可很少有人去讲该若何合理的选择一个前端解决方案,若何解决重构中碰着的一系列分歧场景中的问题,以及最主要的我们自己的职业生涯生计思虑:我们是筹备写一辈子代码么?

总结也叫"review",是复习、回首回头回忆的意思,review对于重构来讲,显得尤为主要,按期的项目回首回头回忆能够发现项目中存在的问题年夜而规避往后再次呈现。

当然项目回首回头回忆是一方面,更主要的是代码层面的review,不按期的review可以促使我们在一些代码的细节把控方面做的更优雅,review除了可以提高代码的品质外,还能增强团队的协作精神,以及提高团队的整体手艺能力。显然这是一件很是有意义的事。团队成员可以在一路review巨匠的代码,发现每小我身上的不足和亮点,否则我们真的是尽管静心自己代码的苦逼代码仔了。

年夜糊口角度:

连结阅读的热情

收集的信息是碎片化的,在我们没有很好的梳理碎片能力的时辰,一本什物书籍对于宽慰我们的心灵显得尤为主要。有时糊口、工作会让人压的喘不外气来,这时,我们需要去寻找一种体例去释放压力,嗯,阅读是一种很好的体例。

坚持一项行为快乐喜爱

日常平常工作太忙时,切记必然要改变自己的工作体例,梳理好需求的优先级,预留出必然的时刻来放松自己,这个放松必然要让自己的筋骨勾当开,可所以去仓皇羽毛球,或者去跑步,再或者去健身。只有让自己的身体变得强年夜起来,才有更多的能量值去砍怪进级。

连结乐不美观的糊口立场

长于捕捉糊口中的一些藐小的幸福颗粒,我们就会经常活在欢愉中。上次在腾讯健康加油站听了一次关于糊口的分享,其中提到"糊口就像炖鸡汤,有时需要加点调料和沾料",简直,这些沾料就是发现糊口中的藐弁言福,做一个乐不美观、宽年夜旷达、开畅的前端人士。调节好工作和糊口的平衡,让自己不要再活的那么累。

嗯,做个好重构真的挺不轻易的,无论是年夜专业角度仍是年夜糊口角度,缺一不成,连结一个乐不美观、热情、积极的心,不竭进修,让自己活得简单、欢愉,此足矣。

其实,你不仅是在重构代码,也是在重构人生!

文章来历:http://www.zhuojie.net/?/webplat/info/news_version3/804/808/811/m579/201212/183630.shtml

注:相关网站培植技巧阅读请移步到建站教程频道。