新人刚接触前端,你可能会问:
零基础能学前端课程吗?
要如何开始学习前端呢?
如果你是前端工作者,你可能会问:
我要怎样让自己变得更优秀?
前端天花板低发展,真的遇到瓶颈了吗?
接下来,我会从学习、实践、进阶三个方面来回答这些问题,分享我的前端成长经历。
1.学 习 篇
学习前端,首先建议大家打好基础。这里的基础分为两大类:计算机基础和专业基础。
有些人可能会认为:即使没有这些基础也能做前端(这也是我们之前说门槛低的原因),但是对这些基础知识的掌握情况和理解程度决定了我们可以走多远。这部分的学习是一个循序渐进的过程,不可能一蹴而就。
那如何学习这些基础知识呢?
我建议从书籍、代码、标准三方面入手。
书籍:当需要了解某个知识点时,可以多看几本相关书籍,看不同作者对这个问题的不同阐述,加深自己的理解。对比着看效果更好。
代码:检验我们是否已经掌握知识的好办法就是阅读代码。它不仅帮助我们加深对知识的理解,还可以查漏补缺,让我们得到一些新的启示。有哪些源码值得我们去读呢?
- 书籍里的代码
- 前辈们留下来的代码
- 论坛里的经验
- 某个网站的代码
- 很多开源代码都可以作为我们的参考来源
- 归纳总结自己以前写的代码,你会得到不一样的惊喜
标准:当我们平时遇到问题时,需要追本溯源。而查阅标准就是关键。互联网技术更新迭代太快,而且网络上的资源良莠不齐。所以我们甄别的重要方法之一就是查阅标准。前端相关的标准主要分为两方面,即行业标准和厂商标准。
制定行业标准的组织主要包括:ecma组织/IETF组织/W3C组织
制定厂商标准的平台主要包括:IE/Chrome/火狐等
2.实 践 篇
实践阶段对于遇到瓶颈的同学十分重要,因为不管以什么样的方式去学习,最终目的就是为了解决实际问题。
围绕着实践中的问题,实际上可以分为:发现问题、分析问题、解决问题、沉淀问题四个方面。
发现问题的途径有很多,包括产品的功能需求、开发的非功能要求以及疑问、建议、抱怨等。更多的时候需要前端工程师进行思考和归纳,这也是我们面临的挑战。
当我们发现问题时,不要急于上手解决,要分析问题的本质,确定产生问题的因素,和多方沟通,提出多种解决方案,分析各自利弊,再对照实际情况做出取舍最后解决问题。
在业务中,80% 的bug主要是业务逻辑考虑不全面,漏掉逻辑判断处理,数据格式不规范等引发的。这种bug改起来比较快,但是容易往复循环,或者引入新的bug。这些bug切碎了开发者的有效工作时间。
另外还有15%的bug是由开发者自身coding的问题引发,属于技术性的bug,但随着开发者对软件平台以及框架的熟悉,以及自身编程水平以及编程素养的提升,这类 bug会逐渐减少。
最后,对问题进行沉淀,加深理解,进而将简单问题的解决方式应用于复杂问题情况下,这也是提升的方式。
3.进 阶 篇
到了一定程度之后,个人能力很难再提升,遇到了瓶颈。此时,需要先从个人角度出发,了解是否触及天花板,另可以从团队角度出发,寻找突破点。
个人能力可以从深度和广度方面进行分析。深度分为三个阶段:表象、原理以及实现。表象就是之前提到的基础阶段。下一个阶段就是能了解其中原理,对知识点能够把握和识别。实现阶段就是能够充分利用已有的知识体系,进行运用。
再从广度角度出发,可以分为专业技能和领域范围两部分。专业技能可以从知识体系的覆盖面和了解度出发。也就是覆盖面够不够广,以及对常见解决方案的了解程度。而领域范围的拓展就需要对其他产品进行了解,比如移动端、桌面端等的了解。
以上方面如果都很优秀的话,就是一个很优秀的前端工程师了。但是仅仅个人优秀还不够,我们还需要团队优秀。
团队方面的突破,重点关注流程、效率和协作。目前在网易的工作模式,基本遵循以下的流程,相对来说还是比较细致和规范的。
- 新需求上线
需求→交互→视觉→开发→自测→测试→bug修改→测试→bug修改→测试→交互确认→视觉确认→上线申请→确认→上线
- Hotfix上线
问题反馈→bug修改→测试→bug修改→测试→上线申请→确认→hotfix上线
最后给大家分享两句话:
- 始终保持一份谦虚谨慎的心态。
- 始终加强学习能力的培养。
作者:佚名
来源:51CTO