当前位置:首页 » 网页前端 » 把控前端品质
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

把控前端品质

发布时间: 2022-09-22 07:44:34

前端开发的难点到底在什么地方

  • 不同级别的前端面临的难点各不相同,不可一概而论;

  • 业务开发的前端难点在于对业务的理解和把控能力;

  • 平台开发的前端难点在于产品化的把控和推进能力。

  • 观点1:不同级别的前端面临的难点各不相同,不可一概而论。

    其他回答有说 CSS 难,有说 CSS 不难的,每个人水平不同,这样争论毫无意义。我刚学前端时觉得 JS/CSS/浏览器兼容问题都很难,现在觉得也就那样,因为前端路子广,办法总比问题多。后来觉得要评估好需求,把控好项目质量比较难,很多时候我们是在干事,在解决问题,不是只埋头写代码,时间一长你会发现前端工作中,技术问题往往比较好解决,反而资源+协作问题比较麻烦。现在对我来说比较难的是快速产品化的能力,如何从无到有去做出一些有价值的东西。

    举一个简单粗暴的例子吧:阿里前端很多,P5/P6 一大把,但是 P8/P9 的非常少,为什么?进阶的难点在哪里?

    前端开发的难点跟前端进阶的难点是非常相似的。阿里对每个前端层级都有一个标准,这也从侧面回答了这个问题,比如对 P5 来说,难点可能是写好业务代码,保证其灵活性和可维护性,能解决各种适配问题;对 P6 来说则需要独挡一面,能独立 owner 需求,而 P7 则需要在某方面技术有深入理解,等等。

    能提出这个问题首先得恭喜题主,说明题主在当前阶段遇到瓶颈了,需要向下一个 level 出击了。

    观点2:业务开发的前端难点在于对业务的理解和把控能力。

    业务逻辑开发本身并不是难点,谁都可以写。但是对于你自己负责的这块业务,后续业务的发展方向和潜力,你有去了解过吗?当业务方提需求过来时你是只负责执行还是和业务方一起探讨更合理的方案?你有没有给自己负责的产品提过一些建议?做过一些改善措施?如果前端只是作为一个执行者,作为一种被调度的资源,那么即使最终项目取得了好的成绩,跟你有多大关系?你自己会有多大的成就感?

    另外一个很重要的点:就是对业务的把控能力。业务方总是会催着上线,开发时间不断被压缩该怎么办?进度不如预期怎么办?开发遇到瓶颈怎么办?发布新功能翻车了怎么办?

    我见过有默默加班保证进度的,也有跟需求方重新谈延期的,有发布出问题手足无措的,也有自己默默修复的,有遇到瓶颈一筹莫展的,也有及时跟老板沟通,跟业务方撕逼的… 如何优雅的处理这些问题,有时候比写代码更难。为什么有的人业务代码逻辑混乱,写的一团糟?我不相信是智力问题,反倒更相信是对项目本身没有把控好,本来排了5天工作量的需求被业务方压到了3天,你还能保证写出健壮而不失风度的代码?

    观点3:平台开发的前端难点在于产品化的把控和推进能力。

    做业务时有人给你提需求,帮你出交互视觉稿,你只要负责写页面就行了。但是在支付宝前端,很多内部平台和技术产品都是技术自己主导,你需要自己发现问题,出方案,设计数据库,自己出页面,这是一个从无到有的创造的过程。并且要保证你做的东西是真正解决问题的,而不是做一些自己觉得很牛逼实际上并没有解决用户痛点的东西,用我老板的话说就是对产品的把控能力,不要跑偏了。前端是最容易做出产品化东西的工程师了,因为后端不会做 UI,UI 不会写代码,唯前端兼顾,这是最大优势。

    再一个就是对产品的推进能力了,你做的东西可能需要各种资源?如何争取?可能牵扯到多方利益?如何权衡?东西做出来了如何推广?如何在用户的一片骂声中奋勇前进?

    印象中很多平台型产品,刚开始投入使用时都是一片骂声,各种问题,说实话负责这些产品的程序员压力是相当大的,天天被骂还得彻夜帮别人解决问题,还得不断优化系统,你说难不难?

    以上三点就是本文所展现的理念,希望能对大家有帮助。

⑵ 前端需求控制应遵循怎样原则

1.所有的测试都应追溯到用户需求.2.应当把"尽早地和不断地进行软件测试"作为软件测试者的座右铭.3.程序员应该避免检查自己的程序.测试工作应该由独立的专业的软件测试机构来完成.3.设计测试用例时.应该考虑到合法的输入和不合法的输入.以及各种边界条件.特殊情况下要制造极端状态和意外状态.比如网络异常中断.电源断电等情况.4.一定要注意测试中的错误集中发生现在.这和程序员的编程水平和习惯有很大的关系.5.对测试错误结果一定要有一个确认的过程.一般有A测试出来的错误.一定要有一个B来确认.严重的错误可以召开评审

⑶ 前端人员具备的基本能力有哪些

前端人员对事情的把控拿捏能力要很强,随时随地解决身边不管是工作还是生活上的问题,遇事沉着冷静,善于从多种角度思考问题,树立完成宏远目标的理想。

⑷ web前端开发人员如何规划自己的职业

  1. 资深WEB前端工程师

    这个方向算是一个WEB前端最基本的选择了,在国外,很多老外都能够把自己的专业做到极致,能一辈子就在一个专业领域不断学习和积累。WEB前端技术人员还是蛮浮躁的,通常会因为WEB前端知识的更新速度太快而觉得学习起来辛苦,最终转向后台或其他道路。我个人比较推荐这个职业发展方向,因为,在这个方向下,只要 足够耐心、厚积薄发,成功的概率是非常高的。同时,这是一条最单纯的路,我们更多的是花费精力在技术的钻研上,而不是办公室政治等其它琐事。

  2. 架构师

    很多人喜欢这个方向,因为既兼顾了工作的单纯性、又能够减少实际Coding的工作量能腾出更多时间钻研技术。在国内,WEB前端工程师遇到较多的情 况是总是反复编写着同样的代码,总是面对着同样的技术和产品,容易感觉枯燥。由于我们拥有最为广泛的WEB相关知识沉淀,使得我们更加容易成为一名架构师。这个职业发展方向不如第一种来得平滑,主要是作为一名架构师不得不学习:后端技术、DBA、Platform等内容。虽然不是很平滑,但是,对于一个大局观好、悟性好、知识面广的前端工程师,我推荐你们努把力,走一条光荣的架构师之路吧。

  3. 自己创业

    其实,自己创业是最好的道路、也是成功率最低的道路,挑战和机遇并存。这里,作为一个前端技术人员,需要将自己的视野更多放在行业的动态、产业链的动态、 相关产品领域的动态,把关注细节的优势继续保持,同时,增强自己把控一个产品乃至一个公司命运的能力。但是,这条道路和技术之路稍有分歧。

  4. 教学

    当水平和能力足够高的时候,可以选择自己开班或者加盟其他教育机构成为老师,他们历经商业锤炼,有很高的职业素质和个人修养,专业水平大多数都远远超过国内的大学。老师们把自己毕生所学传授出去,和后辈们分享个人经验和人生感悟。这条路相对来说比较轻松。

⑸ 怎么提升品质管理

导语:企业加强品质管理不仅能达到目标,还大幅度的降低了品质失败成本率,目标管理成绩突出。

怎么提升品质管理

一、以预防品质异常为主,尽量将问题留在前端

1、全员进行品质意识培训

对全彩盒课员工经常性的进行品质宣导,开品质会 议,举行品质培训,全面提高全员的品质意识。每一道工序都是由无数员工组合而成,全员的品质意识提升,使得每一道工序的品质失败率都有所下降,这对生产带来的好处是不可估量的。

2、每样产品都有其特性,在事前做到深入了解产品的特性要求后,再根据产品特性要求提前做好规划动作

掌握产品特性要求后再作业产品,能够做到提前预防,从根源上杜绝了产品的品质异常。

3、试产参与,主管全程跟进

在了解产品特性后对产品进行试产作业,做到试产阶段及时发现问题点,及时解决问题点,避免正式投入生产后出现品质异常导致人力、物料、时间上的不必要浪费。试产工作是预防品质异常的重要工作。

4、建立彩盒数据中心库

针对每个工单的在制状态,做到上下工序无缝衔接,使得数据异常能够及时得到处理,避免因数据问题造成的品质失败;同时与仓库衔接做到零误差作业。

5、根据客户利润点分析

根据产品的利润分成,做品质标准区分。

6、适才适岗,选对人,做对产品

根据产品的难易程度,安排合适的人员去合适的岗位,进行人力的最优分配。

二、权责分明,做到及时发现、及时反馈、及时处理

1、制定机台定责任区域工厂。制定机长百分百负责机台达成效率;如出现产品品质异常,则机长与主扶手各自承担50%责任。制定一线责任人机制能够有效快速且及时的规避异常,处理异常,反馈异常,找出异常问题点,及时更正。

2、及时发现品质异常产品。发现品质异常产品及时反馈给上一相关部门,做到避免批量性错误,从源头寻找错误。及时反馈,及时处理纠正。

3、可处理不良品及时找业务签样,内部进行修样,进行涂色补液处理。

4、安排专门人员,负责检查机长自检机制,做到监督作用,既防止机长漏检错误,又做到对机长的监督作用。

三、发生品质异常进行总结归纳,进行品质异常分析

1、数据分析。每周针对大金额重制问题,进行数据分析,从客户、产品两方面着手分析,从根源进行分析。区分产品的品质标准,确定产品的品质标准,最后进行专案控制,做到下次无重复问题产生工厂如何加强品质管理意识

2、对于因工艺无法避免的品质失败,例如:擦花现象,对应到客户端,与客户进行沟通谈判为工艺问题无法避免问题,用专业知识去说服、引导客户接受。

3、针对性错误进行品质失败分析会议。根据客户标准制作,现场已发生的品质失败案例,进行全员品质培训,重点强调生产过程中易出现的异常,避免同一异常的重复发生。

四、奖惩结合,激励员工提升品质意识

针对发现混料现象员工、发现上道工序异常员工,进行奖励;同时对内部漏失混料行为,发生异常工序员工进行考核。

采访过程中彩盒课张课长表示,彩盒课的每一道工序的成功离不开大家的辛苦作业,更离不开领导的正确领导与支持,并且坚信在方总的指导下,在甘副理的带领下能够更进一步,将彩盒课越做越好。

加强品质管理的措施

建立完善的品质控制系统

形成从供应商管理到制程品质管理,直至远及客户管理的整个品质管理链,环环相扣,从体系上保证产品和服务的品质。比如质量管理体系就是一个全员参与、全面控制、持续改进的综合性质量管理体系,它所规定的文件化体系具有很强的约束力,它贯穿于整个质量体系的全过程、使体系内各个环节环环相扣、互相督导、互相促进。

全员参与,落到实处

在一个公司里,质量问题和所有人密切相关,品管部门的工作是和所有部门的人一起来预防和监督。它包括高层领导的决心和公司和每一位员工的参与怎样做好品质管理工作怎样做好品质管理工作。

管理层与其高层管理者由于其特有的影响力,对一个系统能否顺利推行起着举足轻重的作用,而基层员工更应牢固树立“质量第一”的管理思想,精益求精,做到好中求多、好中求快、好中求省,严格遵守操作规程,认真做好自检和互检,及时发现问题,将发现的.质量问题及时通知下一岗位,做到人人把好质量关,对产品质量要认真负责,确保表里如一,严禁弄虚作假。

生产部管理人员则应认真培养一线工人的质量意识,而不是空洞的说“人人必须重视质量,有质量意识”,要揭示个人工作一个小小不符合要求可能给公司造成的转化为金钱<看得见>的巨大损失,要求每个人做每件事时首先了解要求,并使所做的每一步符合要求,让其明白这是对公司品质管理的一大贡献。人是生产者,把握着产品质量的量度,是影响质量的主要因素,所以员工从思想上必须有所认识,意识到质量的重要性。

管制质量,重在预防

预防的本身必须能够追溯到产品的开发设计,一个产品质量的好坏,其实开发、设计时已经决定了它的质量,制造过程只是去实现产品设计的过程,这就如同堵洪水,是在洪水到来之前建立堤坝、修防护林、搞环保建设呢?还是等洪水侵袭到家门口才去补救呢?很显然,前者环保式的方法更经济、实用。所以,一款新产品在投产之前必须经过试样、试产到小批量生产个个环节都不应该省略,只有这样才能将一些潜在的影响生产的质量问题控制在萌芽状态,才能不断完善、提高工艺能力。

品质文化建设

品质管理始终强调的是每个人的心态问题,要搞好质量,首先得具备端正的心态,然后认认真真做好每一件事,革除工作中的“马虎”,从而形成一种品质文化、品质理念,品质是人做出来的,如果人对品质理念或态度出现偏差,则品质体系再完善、品质控制方法再先进,都是没有用的怎样做好品质管理工作品质管理。

注意事项:

品质管理主要取决于我们关于品质的理念和态度。当一个企业的每个人都这样做的时候,那么一种最优秀的品质文化产生了,这也是我们管理所要的最终目标。

⑹ 如何做一个好的前端重构工程师

其实,"好"与"坏"向来都是相对的,因为每个人眼中看待"好"与"坏"的标准不一样,不如从自身的角度考虑一下:如何做一个好重构?

先来看一个平时我们遇到的最多的两栏布局:

基本的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其实在2003年就诞生了)

更好的沟通能力

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

有选择的参加技术论坛

如果自己呆在一个小公司,前端人也不是很多,没有一个很好的氛围,那么这时我们就只能通过两种方式来拓宽人脉:网络和论坛。网络如QQ群、蓝色理想等,而面对面的论坛无疑是最真实的一种拓宽人脉的方式。其实现在国内大的环境下,前端类的技术论坛我自己都数不过来,这时有选择的参加一个论坛显得尤为重要,而不该不管自己懂不懂、免费还是收费什么论坛都去参加,其实适合自己的是最重要的。

关注浏览器厂商

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

更多的承担和分享

在平时更多的去承担一些额外的工作,譬如在重构团队的协作规范、编码规范上提出自己的一些合理化建议,输出一些利于其他同事更快、更高效提升的文档。平时在自己工作遇到了一些好的工作方法或者对一些新技术的研究可以拿出来和大家分享。重构的团队氛围很重要,谁都不希望呆在一个整天只管自己写代码的团队,那样不管对于个人还是团队都是不利的。

更多的思考与总结

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

作为重构,很多人拿到设计稿之后就是开始埋头切图,用各种"奇技淫巧"实现各种需求,我们甚至不会在拿到设计稿之后仔细的做一下分析:如何做一个合理的架构、如何抽取合适的模块、如何用更优雅的方式和轻量的代码实现页面中的需求。

也许是目前大的环境下在催促着我们不断的向前跑:各种前端论坛大多数都在讲某个技术,纠结于某一技术细节的实现,讲烂掉的性能优化,可很少有人去讲该如何合理的选择一个前端解决方案,如何解决重构中遇到的一系列不同场景中的问题,以及最重要的我们自己的职业生涯思考:我们是准备写一辈子代码么?

总结也叫"review",是复习、回顾的意思,review对于重构来讲,显得尤为重要,定期的项目回顾能够发现项目中存在的问题从而规避以后再次出现。

当然项目回顾是一方面,更重要的是代码层面的review,不定期的review可以促使我们在一些代码的细节把控方面做的更优雅,review除了可以提高代码的品质外,还能加强团队的协作精神,以及提高团队的整体技术能力。显然这是一件非常有意义的事。团队成员可以在一起review大家的代码,发现每个人身上的不足和亮点,不然我们真的是只管埋头自己代码的苦逼代码仔了。

从生活角度:

保持阅读的热情

网络的信息是碎片化的,在我们没有很好的梳理碎片能力的时候,一本实物书籍对于慰藉我们的心灵显得尤为重要。有时生活、工作会让人压的喘不过气来,这时,我们需要去寻找一种方式去释放压力,嗯,阅读是一种很好的方式。

坚持一项运动爱好

平时工作太忙时,切记一定要改变自己的工作方法,梳理好需求的优先级,预留出一定的时间来放松自己,这个放松一定要让自己的筋骨活动开,可以是去打打羽毛球,或者去跑步,再或者去健身。只有让自己的身体变得强大起来,才有更多的能量值去砍怪升级。

保持乐观的生活态度

善于捕捉生活中的一些细小的幸福颗粒,我们就会经常活在快乐中。上次在腾讯健康加油站听了一次关于生活的分享,其中提到"生活就像炖鸡汤,有时需要加点调料和沾料",的确,这些沾料就是发现生活中的细小幸福,做一个乐观、豁达、开朗的前端人士。调节好工作和生活的平衡,让自己不要再活的那么累。

嗯,做个好重构真的挺不容易的,无论是从专业角度还是从生活角度,缺一不可,保持一个乐观、热情、积极的心,不断学习,让自己活得简单、快乐,此足矣。

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

⑺ 前端工程师他到底是一种怎样的职业

前端工程师已经是大家不再陌生的一个软件行业的工种了,尽管这一工种诞生也没几年。作为一名从业三年的前端工程师,我尝试结合业界标准与我的理解,来尽可能诠释一下前端工程师这个职业。
前端工程师的英文名为front-end engineer,简称FE,下文将用FE来代称。现在意义上的前端(并非只制作网页),国内最早开始有大规模招聘岗位应该是2011年左右的事情吧,在此之前,FE的工作基本都是由服务端工程师包办的,或者是由设计师来产出HTML页面。那么,是什么样的原因催生出了FE这一职位呢?本文将从FE的工作内容、专业FE应具备的技能和品质来聊聊这个职业。

用户体验的操刀者
前端工程师的首要工作就是开发用户界面,在web系统中,就是指网页了。为什么网页需要专门的FE来写呢?答案就是“用户体验”。随着web2.0概念的普及以及web3.0的提出,用户成为互联网的主要生产者,网页所承载的功能越来越多。

一方面,企业的“用户体验”诉求很强烈。这个很容易就能理解,如果你的产品看上去就像个钓鱼网站而且还特别难用,就会有一部分用户离你而去。非互联网企业呢?也会面临这样的情况,你花了很大的功夫优化数据库,优化服务器负载,你的客户却很难感知到你的努力。你的系统界面还是八九十年代的风格,客户的第一感觉就是这系统不行,不买你的帐。相反,如果你花一点时间做一套崭新风格的界面出来,客户的第一感觉就是这个系统好炫酷,技术含量很高。不要小看这个第一感觉,对于外行人来说,第一感觉往往起到了决定作用。好多企业都意识到了这一点,所以对用户体验的诉求就上去了。

另一方面,现在的用户也都很挑剔。毕竟他们使用的产品一个比一个炫,都被惯坏了,你的产品稍有点不爽的地方,就上微博去给你宣传。

前端工程师是用户体验的把控者,在产品经理构想出交互原型,设计师设计出交互细节后,FE就用他的双手一行行敲出这些代码。他敲出的每一个按钮,每一张图片,都被成千上万的用户点击着,FE与用户可以说是“零距离接触”。作为产品交互的实现者,除了HTML、CSS这两门语言要精通外,对前端要求更高的其实是非技术因素。

FE需要对用户体验有较深的理解。比如页面上有一个超链接,字体比较小的情况下,用户可能会一下点不中,因为链接的可点击区域是紧贴着文字边缘的。前端可以通过很简单的方法来扩大这个链接的可点击区域,使得用户更容易点中。这就是用户体验,正如《瞬间之美》中提到的那样,touch到用户的内心只需要一瞬间。对用户体验的理解,还体现在对一些交互常识的把握上。比如用户操作某个软件的界面,会感觉它很灵巧,却具体说不出到底是哪里。那么很可能是这个界面上的按钮有着设计良好的四态(正常、鼠标移上、鼠标按下、不可用),它会随时对你的操作给出反馈。

懂用户体验的前端工程师,会让他的作品与用户沟通,能够touch到用户心中那一块柔软的区域。

FE需要有一点强迫症。这体现在对任何瑕疵的不容忍。比如采用技术手段让页面的滚动更平滑些,减少页面的视觉抖动,像素级别的定位校准。当用户触碰的内容是一串非电话号码的数字时,不要让手机自动调出拨号功能,等等。很多细节是产品经理无法感知的,因为这些都是很零散的技术手段,只有靠FE来点滴积累。再有极致者,追求让页面的响应时间再减少几个毫秒,让你的手机少耗几KB流量,少耗一些电量。这些甚至连用户都无法感知,但是当你的用户有百万级别或者千万级别,这样做的价值就显现出来了。

前端工程师需要是一个心思细腻之人,需要对美有所领悟,需要执着地追求完美,需要有品味,有思想,有大局观,最好还能懂点心理学。

用户端业务逻辑
做出优雅的界面只是前端工程师的第一步,编程也是必备技能,FE承担着处理用户端业务逻辑的任务。放在以前,用户端就是个IE浏览器,没有什么业务逻辑可言。但现在不同了,用户使用浏览器发表文章、进行社交活动,更复杂的能使用在线工具完成工作。

javascript就是FE需要掌握的编程语言,他应该通晓这门语言的优势和缺点,掌握各种编程思想、开发模式。利用各种技巧实现交互越来越丰富的界面,同时还要与服务端的工程师沟通,调试接口,完成:页面展示——响应用户操作——提交用户数据——反馈操作结果这一系列流程。

从这一点上,要求前端工程师要有软件开发的基础,了解计算机的基本原理,网络通信的基本原理,所以计算机相关专业出身的前端会更有优势一些。

前端也需要架构
写写网页也要架构?有什么好架的?回答这个问题首先得明确一点,FE的工作内容已不再是“写写页面”这么简单。随着前端代码的规模越来越大,逐渐涌现出了模块化开发、MVC、MVVM等开发模式。团队规模也从原来的单兵作战演变为团队开发。

所以,一个高级前端工程师,要有架构能力。这个架构能力包括不限于:
对现有优秀框架的了解与整合使用
根据项目的业务特点构建出合适的开发模式
设计前端测试方案保证代码质量
用工程化方案组织起团队的开发流程。

向前延伸、向后延伸
物联网的市场越来越热了,手机是物联网体系中的一个关键节点。前端工程师的战场已不再是单纯的浏览器,将来会覆盖到各种“端设备”上。得益于javascript语言的灵活性,现在用javascript已经可以开发windows应用、ios应用、android应用,可以编写智能电视上的应用。将来,或许是VR、可穿戴设备、智能家电。这是前端可以向前延伸的方向。

另一方面,由于nodejs的横空出世,javascript这门语言竟然神奇的有了服务端的能力。之前用java、PHP做的事情,js同样可以实现了。本来前端阵营中就有一批人是从后端转过来的,有服务端开发的基础,得了nodejs这一利器,再加上现在市场的需求,快出产品,敏捷开发,前端工程师向后延伸的路线宽广而明亮。事实上,全栈工程师的概念在前年就被提出,BAT这样的业界领头羊早已用nodejs做一些基础设施的建设,而很多小而快的创业公司,也在用nodejs进行快速迭代开发。

持续学习
前端领域的技术更新相对于其他领域要快很多,原因大概也是因为这个领域离用户最近吧。有一些新的技术甚至是颠覆性的,前端工程师必须要跟上时代的步伐,否则你开发出的产品在体验上就落后别人一截了。

有一些市场人员提出的需求,产品经理根据多年的经验评估后觉得无法实现,就被打回了。而事实上,随着新技术的出现,有些你认为无法实现的功能已经可以在前端实现了。随着HTML5的支持度越来越高,前端拥有的能力也会越强。比如利用canvas能够获取到图片上的每一个像素点,这样前端就拥有了图像处理能力。有了FileReader API,前端拥有了本地文件的读取能力,还有地理位置获取等等。

而这些新东西,就需要前端工程师来不断学习。所以,一个称职的前端必须能够保持持续学习能力,能够对新技术有敏锐的嗅觉。活到老,学到老,说的就是前端工程师。

高情商的程序猿
大多数人对程序猿的印象就是情商低、不善言谈。但前端工程师应该是个例外,这是由工作性质决定的。

从工作流程来看,FE处于设计师的下游,他要接设计稿,转化为网页。同时又是后端工程师的上游,需要把用户产生的数据提交到服务端。横向来看,他又与产品经理有着密切接触,因为他可能随时和产品经理探讨交互的细节。这样一个连接着团队中的其他成员的角色,需要他既是一个粘合剂,又是一个润滑剂。

前端工程师需要有较高的沟通能力和理解能力。我们经常开玩笑说“设计师活在童话故事里”,因为有时候他们设计的页面根本不符合常规,无法实现。这个时候你就需要耐心的给设计MM讲原理、讲原因,并且告诉她设计需要遵循哪些基本规范。对于产品经理的思想,你要能把握到位,你得理解他比划了半天到底是想要做什么。与后端工程师打交道的时候,你又得马上化身编程达人,跟他们聊数据类型,聊面向对象,聊设计模式。

你需要能随时切换角色,切换你的表达方式和谈话内容。所以,你得是一只高情商的程序员。

以上就是我对前端工程师的理解,前端的门槛低,但要成为一名专业的前端工程师,需要掌握的东西太多了。除了前端技术外,我认为前端更重要的是综合能力,包括我上面谈到的思维细腻、有品味、有思想、情商高等等。毕竟你要通过代码与用户产生接触,给用户带来愉悦感。从某种程度上来说,你得是一个好恋人。

⑻ 前端控制的原则

前端控制是现代文件管理理念之一,即在文件形成之时就介入其质量控制。按文件生命周期划分阶段,地质资料的“形成”之时是前端,“鉴定、整理、编目、入库、借阅”等具体操作为中端,“销毁”是末端。在纸质载体档案管理中,传统上称归档前的为科技文件材料,归档后称地质资料。科技文件材料的产生是在工程作业现场或地质研究场所,特别是在勘探开发工程作业现场,首先接触到地质科技文件材料的是负责生产管理的工程技术人员。现场记录的文字与数据就产生于现场技术人员之手,在没有移交资料管理人员之前,就是他们管理着地质科技文件材料,也就是他们处在地质资料管理的前端。电子文件和数据采集也出自他们的工作过程。前端控制是全程管理的重要前提。地质资料管理的前端控制概念是20世纪后期提出来的。有人怀疑前端控制,认为这超出地质资料管理工作范围,有越位之嫌。但作者认为前端控制有以下的必要性:

(一)是保证资料真实可靠、完整规范、可识别的前提

各类地质报告在形成初期,文字材料有初稿、二稿和终稿之分,电子文件也具有易流失、易删改特性,很容易出现差错,在源头出现差错若不能及时发现和改正,这件地质资料质量就没有保证,运用于指导勘探工程,不但造成工程时间上的不可弥补,探矿工程的经费损失也是非常大的。若错了的勘探数据信息,没有被发现,用来误导接下来的处理、解释和研究,其损失更大。花费大量人力、物力、财力的勘探开发工程,取得的地质资料不完整,或者电子文件读不出来,或数据信息是错的,后果是严重的。地质科技文件材料与数据产生后,即需标明责任者,电子文件就该及时赋予标识,防止修改,防止删除,并附有背景说明。

(二)可优化管理,提高管理效率

传统的地质资料管理,其前端是对归档的地质科技文件材料进行整理、编号、标识、入库。归档前的地质科技文件材料管理没有进入全程管理的视野,也无章法可循,一般由地质科技人员或工程技术人员保管,对质量也无规范性要求。实施前端控制后,使整个地质资料管理成了一个体系,标准、规范一贯到底,不但与工程施工、实验分析、数据处理、地质研究环环紧密相扣,还能促成地质资料管理业务流程一体化,减少乃至消除地质资料归档前、归档后的管理管理环节疏漏或重复,达到功能合理,效率更高的效果。

现在的工程设备上地质资料的产生,大多为机出资料,自动打印。也有人工记录,如施工班报、生产日报等,但人工记录也都是计算机制作相关文字和报表。在文件形成的同时,将文件内容进行描述、文件结构、背景、版本、数据生成环境、存在状态等方面的信息进行采集。如钻井的基础数据,文字性资料的着录项等,这些数据是一次采集,全程使用。这种方法可以避免在地质资料归档着录时的重复采集及其由于二次或多次数据采集输入而出现的出错概率。

以前地质资料管理部门,对前端产生了哪些地质资料,什么时间应该归档心中无数,质量评判也缺乏依据。实行前端控制后,对产生的地质资料的数量和质量参与了控制,可以及时调剂利用和通知入馆归档。

⑼ 如何成为一个伟大的前端工程师

成为一个杰出工程师最重要的因素就是热爱自己的职业。毕竟兴趣是最好的老师,许多优秀的电子工程师都是从小作为电子爱好者的。爱好不仅要体现在行动中更要深入内心甚至深入骨髓。有许多人问:每天应该花多长时间在学习中和工作中。可以肯定一份耕耘就会换来一份收获,但作为工程师和科学家想取得成功并不是比赛谁花的时间最多,而是看谁付出了更多的思考。不要以为一个学生坐在自习教室里看了多少小时的书就是勤奋,也可能比呆在寝室里的学生还要懒惰。也就是说勤奋是大脑的勤奋,而不是身体和和形式上的勤奋。我学电子也差不多有15年了,也发现了很多问题。一次别人问我你每天花多长时间来工作。我回答他:每天除了吃饭睡觉几乎都在思考。不夸张的说我的很多工程构想都是在梦境中诞生的。每天早起床后刷牙的时候、上班的路上、吃饭的时候甚至和别人谈话的空闲瞬间都有可能诞生灵感。当然热爱工程师职业的前提是一定要能领略到工程和自然科学中的美感。一个优秀的工程师同时也是一个热爱科学的人,从科学的常识到科学的精神都会渗透到他的生活中。一次我看到一位教研室里的老师安排答辩的顺序,尽管这位老师在机电领域写了很多的书也在所谓理论领域有很多建树,单从他安排这样一个简单的顺序来看,他并不是个理论很高的人。因为在我看来他的工作方法是效率极低的。换句话说就是在他的生活中没有科学的精神可言。
一个工程师和科学家在生活中也是工程师和科学家。这个问题引出后我们要提到的是培养自己的思维品质。包括思维的习惯,深度和广度,以及思维方式和思维素材的选取。成为一个工程师确实有很多品质是天生的和决定性的,学校的培养和自己的努力也只是一些辅助措施。一个人曾经问我一个关于感性负载的问题,其实我心理很清楚他并不理解这里面最基本的物理概念,首先对电感的认识就不是用语言和数学公式能解释得了的。所以物理学和数学的基础是对工程师有很高要求的,这里所提到的物理学和数学是指一种最基本的认识而不是停留于表面的文字和公式。我可以推断这个人不太适合作工程师,其实他提出的问题都真真切切的存在于生活中,抬头看看日光灯的启动,或者当你看到电源插头的放电瞬间。可这每一个瞬间都被示为理所应当的话就错了。那样当牛顿看到苹果落地时也会感觉理所应当的。
每个人的思维着眼点和注意的方面都不相同,很多人从小就会将注意放在自然科学之上,这些孩子中有很多就是未来的工程师。比如一个10岁的小学生看到一幢大楼,他会马上考虑大楼是如何建造的,塔吊又是怎么一节一节接起来的,那么高的大楼外墙的玻璃是如何安装的。另一个孩子会想工程师真伟大,还会想到一些诗句来抒发内心的感受。显然两个孩子一个可能更适合作工程师另一个适合成为文学家。所以人们经常说,每个人都有自己的长处和优点。有些人的长处和思维方式在工程师职业中无法发挥,可中国教育的教条化却无法让每个人都能做自己喜欢的专业。我的一个大学同学是文学爱好者,对中国历史和社会有许多见解,阅读广泛文笔也好,可偏偏学了电子这个专业,这不是人才的浪费吗。所以工程师和科学家在生活中也是工程师和科学家,而不是工作时和端起书本时才是。很多学生很努力的去学习,可一直无法入门就是这个原因。当拿起书本时发现一个问题或者老师提出一个问题后他们会努力的解决,可放下书本就不会再自己提出问题和独立的思考了。
我从来不认为中国的教育是真正的教育,书本、试卷、分数、所谓的答案都是教条的,就好象一条生产线给每个经过其中的学生盖上一个学历的烙印。将创造性和个人的特长统统抹杀,再加上长期以来的教育大跃进和人才评定标准的偏差,无数天才失去了发展机会。本来没有那么多的教育资源却非要扩招--扫盲。将大学教育至于尴尬境地,应届生就业就是最好的例子。所以请不要抱怨工作机会少,中国是非常缺乏工程师的呀!缺到让很多公司开始呐喊的程度。工程师的缺乏又和应届理工科毕业生的过剩形成矛盾。所以你不要以为学习成绩高就能成为一个好的工程师。要清楚的认识到学校的教育和社会需求之间的距离。
工程师要有自己的思想,很多学生在读书过程中养成了一些很不好的习惯。比如思考深度不够,和不会独立思考。一个公式放在面前能做题,能考试就OK吗?自然科学好比一个花园,一些科学巨匠写下了无数不朽的文章来描述它。数学公式就好比文章中的文字和句子,只是做文字游戏或者简单的背诵有什么意义吗?请问问自己你对这个大花园了解多少。你闭上眼睛能想象出这个花园的景象吗?记得我曾问一个大四毕业设计的学生你物理学的怎么样。他回答我还好,可又补充说就是公式忘了。工作中他看到我随笔可以写出很多方程,惊讶的说我的记忆力真好。我说我根本就没背过公式。因为我记得花园是什么样的,即使哪位大家用什么词汇描述的花园我记不清,可我依然能清楚的描述出来。这才是理论,理论不是指文字和公式而是前人的思想。
许多学电子的学生说模拟技术难学,我告诉他们其实学好模拟技术并不是要学好模拟电子本身。世界本来就是模拟的,所有的物理量都是模拟的,这就是模拟。所以你对自然科学的最根本看法和世界观直接决定模拟水平的高低,也就是物理学水平的高低。我的意见是:不要以为拿着模电书学下去就能有本质的改变,一定要提高对事物的认识和对自然科学的理解,提高对模拟量的驾御能力。重要的是思维方式,和对概念的感性认识。
思考问题要有深度,思维的深度是一种习惯。有些人总是喜欢点到为止,他甚至没有意识到我还可以再深入的思考。作为工程师和科学家要培养深邃的思考习惯。一些学生看到一道物理题,认为作对就好的人居多。可你是否发现了其中的内在联系,甚至从考点中受到启发。有很多高中学生喜欢做大量的习题,结果效果却不理想。就是因为这些学生只是在做题,没有付出更多的思考。所以工程师要注重概念性的思考然后深入进去。知其然,更要知其所以然。
工程师要重视实践,自然科学不管发展到何时都离不开实验。电子学本身就是为了指导工程实践。所以不要谈空洞的理论。现在很多院所都面临这样的问题,总是谈一些空洞的理论,甚至错误的但还不以为然的理论。实践可以提高对自然科学的认识甚至改变着我们的世界观,只有这种认识提高了才可能创造和应用有价值的理论。我们不要玩弄理论,但要重视理论。理论是思想,是认识,不是公式和文字。
另一方面,我们还要重视理论。因为你是电子工程师,而不是电子爱好者。工程师要从整体到细节全面的把控你的工程。人做事是一定要犯错误的,工程师要将这样的错误减到最少。因此全面的理论和对工程对象的认识是必须的。一些从电子爱好者出身的工程师比较容易忽视理论,认为把东西做出来了就可以。当然是要把东西作出来,但我们最终是要掌握尖端的技术,推动中国科技的发展。不可能象电子爱好者那样拿过别人的图纸来制作了事。IT技术发展迅速,理论的发展也非常迅速。我们一定要接受潮水般的新观念和新技术,工程师必须有全面而又坚实的理论作为后盾。我们学习信息技术就好比盖一座大厦,我们可以很快掌握流行的开发工具和技术--可以盖个比较高的大楼,可是没有全面坚实的理论作为地基,是不可能盖成摩天大厦的。
而且理论体系一定要完整,IT技术本身就是多学科交叉产生的,他已经涉及太多的东西了。所以在这个行业内如果掌握更多更全面的知识是非常必要的。搞硬件的往往容易忽略软件方面的东西。现在哪里有离开软件的硬件和离开硬件的软件呢?而且一个工程师不仅要懂得本
专业的知识,还要有广泛的自然科学知识,只有这样才能成为出色的工程技术人员。
培养自己的学习方法也是工程师的必修课。知识爆炸的年代里,仅仅靠学校里学来的一点皮毛想成为优秀的工程师是不可能的,90%的知识都要靠自己去学习。很多学校刚毕业的学生并不会自学。拿过一本书来一阵看,看不懂就咬牙看下去,最后仍在一边。其实自学是非常讲究技巧和方法的。当然每个人都有自己的一套好办法。我通常把知识分成几类:
1.基础知识 ----包括数物化和专业基础。
2.流行的技术 ----比如潜入式系统开发,大家都在做的技术。
3.未来将要流行的技术 ----比如生物DSP技术,就是你对未来的预测。
4.我要用到的技术 ----就是你工程中急需使用的。
5.其他学科的重要进展 ----紧跟科技发展的脚步是必须的。
我通常均匀的分配时间,而不忽略任何任何一个方面的进展。这样才能保证知识体系的不断更新和扩充。这只是宏观上的精力分配。具体的学习过程当然因人而定,但一定要有战略的进行。工程师做任何事情都要有计划有步骤的去执行。逻辑不仅仅是体现在程序中更要体现在学习和生活的进程中,也就是做任何事都要科学的安排时间,根据自己的情况制定方案。大家可以参考大脑思维图谱的方法。
工程师做事要严谨求实。神州飞船由多少复杂的系统构成,如果每个部件都有99.9%的成功率,恐怕到最后返回的时候连一半的安全性都谈不上。所以工程师一定要严谨,从整体到每个细节都要有足够的重视程度。千里之堤溃于蚁穴就是这个道理。工程师不能接受差不多这样的词汇。行就是行,不行就是不行,这是工程师最基本的素质。一次公司里的一个工程师拿了一块作好的超声前端板交给我,并说板已OK了。可当我问他信噪比如何时,却回答我差不多。我理解差不多就还差,让他拿回去什么时候不差了再交给我。所以工程师要用指标说话,要用实践说话,差不多不是工程师的嘴里应该出现的词汇。
工程师还要注重积累,一个好的程序员和电路设计师就是一个好的收藏家。不仅收藏自己的智慧结晶更要收藏别人的智慧结晶。IT技术领域有无数的巨匠和天才将他们智慧沉淀于现代科技之中。所以我们要不断的积累好的做法和前人的思想。你的周围会有很多人的很多东西值得你学习,你应该将这些作为财富积累起来,总有一天会发挥出作用。另外我们学习的不仅是简单的知识更是前人对知识的理解和对工程的看法。比如每个人眼中的电阻都不相同,你要主动去了解高手眼中的电阻是什么东西。
更高的角度从新审视问题,找到突破口,而不要钻了牛角尖。
工程师不要轻易问别人问题,解决问题的过程和结果同样重要。有一些同学会经常向老师提出问题,这也是好事,说明某某学生爱学习。可我们并不提倡这些,相反的如果能自己解决问题才是最好的。要学会独立的猎取信息和知识,并从其中得到自己判断。每个人在工作中都会遇到很多问题,在学校的时候有老师去解答,在工作单位又有谁能解答呢?或者当你做的是最尖端的技术时你能去问谁呢!所以工程师要有独立处理问题的能力。不要做思想上懒惰的人。中国教育往往要求学生考出高分,答对答案就是好学生。所以老师告诉的答案只要记住就OK。可老师告诉你的答案能说明你自己具备了解题能力吗?请不要相信这样的分数,至少它无法反映你的真实水平。
工程师要有《亮剑》精神。用都梁的话说,古代剑客明知对方是天下第一剑客,明知是死也要亮出宝剑,没有这个本事就别当剑客。尽管敌强我弱,尽管身陷重围,我们也要亮剑。工程师也要敢于挑战对手,敢于战胜自己。一项工程如果连做都不敢做还能谈成功的问题吗?成功是一种习惯,一种来源于自己的信心。战略上轻视敌人,战术上重视敌人。
工程师即要有个人英雄主义情节又要能融入团队。出色的个人能力和人格魅力是何等的宝贵。我们在崇拜盖茨和乔布斯的同时不要忘记他们身后庞大而又高效的研发团队。以一戟之力完成霸业的英雄已不属于这个时代。所以团队的合作才是创造神话的必经之路。
工程师要有发展的眼光,不仅要能在复杂的技术和市场面前游刃有余,更要对未来的发展态势做出精确的展望。只有比别人想的远才能比对手走的更远。当然这与坚实的基础和勤奋的思考是密不可分的,在群雄逐鹿的当今IT界,恐怕需要更多的胆识才能做到。要不断的关注技术和市场以及其它领域的发展,什么时候这种关注放松,什么时候就会被竞争所淘汰。
要在竞争和解决问题中体会生活,研发和竞争是每个工程师不可避免的现实。大家每天都会遇到新的困难,可这才是工程师的生活,要轻松的活在这些问题之中,并体会其中的快乐和成功时刻的兴奋。很多工程师抱怨说做研发太累了,这里的累是一种心理的感受,工程师的职业就是不断的克服困难迎接新的挑战。