19 年学好前端的6点建议

可莉
• 阅读 721

1. 夯实基础

要成为一名年薪30W的前端工程师,基础一定要掌握牢固,基础知识一问三不知,岂不是要贻笑大方。

css,js基础知识一定要掌握得很熟练,你能使用css实现斑马条纹背景,毛玻璃效果吗?能给图片实现滤镜效果,能实现所有自适应布局效果吗?原型,原型链,闭包是实现设计模式的必备知识,你真的弄懂了吗?闭包导致内存泄漏的原因是什么,你弄明白了吗?ajax跨域的解决方案你可以说几种?9102年了,你还是只告诉我jsonp吗?http协议有了解过吗?如何在http协议中实现不缓存静态资源?

现在是9102年了,这些问题老掉牙了。可是我要告诉你的是,掌握好这些老掉牙的基础,就是很重要。上层的技术可以变更的很快,基础变动很慢,投入时间学好基础,性价比很高。

2. 深究原理

Angular,React,Vue框架和脚手架的普及,越来越多的前端工程师浮于表面,调用框架的API完成任务就完事。要成为一名优秀的前端,绝不能成为单纯的"API调用工程师",一定要掌握框架背后的原理性知识。

Virtual DOM diff算法,双向绑定原理等等框架背后的机制都值得我们去学习。框架API可以更新很快,而他们背后的原理都是相似的,学好原理既可以让我们对框架底层了解更深入,又可以使我们迅速掌握不断更新的框架表层。只会用框架永远也成不了大神。

3. 注重细节

在工作中,做事得过且过的人往往难堪大任,作为前端工程师,亦不例外。"代码能用就行"的认识往往是初级程序员的通病。作为有在技术道路上有理想的工程师,一定要对自己的代码严格要求,精益求精。

比如HTML一定要注意语义化以方便SEO优化,该用

,,的地方不能一股脑儿用
完事;css中编写样式时不能页面上样式是有了,类名和属性排序写得一塌糊涂,建议大家按照BEM规范编写风格良好的代码;js中变量命名随意是很常见的不规范行为,一个不直观的变量名往往使同事看了脑袋大。

“代码千万行,注释第一行。命名不规范,同事两行泪。“一首流行诗,饱含了多少程序员的血与泪。

4. 登高见远

前端经历了这么多年的飞速发展,早已成为浩瀚的大海。如果闷着头独自钻研苦学,那无疑是很慢的。

能力图谱

如果我们直接去跟随大神学习,那将会使我们快速成长。github上有很多优秀的前端项目,仔细研读这些项目的代码,在commit记录中查看编程思想和逻辑的进化过程,就是一场与大神直接的面对面交流,是一场绝妙的学习之旅。

现在网络课程也十分丰富,有很多技术大牛的课程让我们直接通过视频生动的讲解快速地学习技术,这何尝不是一种向大神快速学习的方式呢。

5. 良书益友

虽然现在网络上各种文档、博客文章已经很丰富了,但是对工作经验不足,基础薄弱的同学来说,随手拿起书,时时能学习才是王道,查漏补缺,完整地夯实基础。

我推荐几本值得购买的书给大家,《图解HTTP》、《JavaScript设计模式与开发实践》、《深入理解ES6》,《高性能JavaScript》。这些书籍都值得多次反复阅读,对于巩固基础,学习框架原理性知识,写出高性能的代码都是大有裨益的。

良书益友

6. 紧跟潮流

现在的前端技术体系更新十分迅速,想着要不要尝试用下Vue的事仿佛还在昨天,今天一觉醒来就看到尤雨溪宣布要开发Vue3.0了。

前端体系中这两年SPA已经不是新名词,PWA,SSR,小程序愈发流行,前端微服务化的趋势也应运而生,RN、electron在移动端,桌面端的使用也越来越多,ES10标准的发布也没几个月了。

所以最重要的是突破当前岗位需求的设限,对各种技术融会贯通,创造新的技术框架,做技术的领头羊,适应时代发展。

技术人成长不能再单打独斗,要学会与人交流,学会将别人的知识为自己所用。如果你依然觉得有些茫然,不如跟有多年前端开发经验的资深工程师聊一聊。

感兴趣的小伙伴添加公众号 【grain先森】,后台回复 【190213】,免费领取30本经典编程书籍。

本文同步分享在 博客“grain先森”(JianShu)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Wesley13 Wesley13
3年前
java将前端的json数组字符串转换为列表
记录下在前端通过ajax提交了一个json数组的字符串,在后端如何转换为列表。前端数据转化与请求varcontracts{id:'1',name:'yanggb合同1'},{id:'2',name:'yanggb合同2'},{id:'3',name:'yang
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Java修道之路,问鼎巅峰,我辈代码修仙法力齐天
<center<fontcolor00FF7Fsize5face"黑体"代码尽头谁为峰,一见秃头道成空。</font<center<fontcolor00FF00size5face"黑体"编程修真路破折,一步一劫渡飞升。</font众所周知,编程修真有八大境界:1.Javase练气筑基2.数据库结丹3.web前端元婴4.Jav
Stella981 Stella981
3年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
为什么mysql不推荐使用雪花ID作为主键
作者:毛辰飞背景在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一),而是推荐连续自增的主键id,官方的推荐是auto_increment,那么为什么不建议采用uuid,使用uuid究
Python进阶者 Python进阶者
10个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这