闲聊前端工程师的能力与职责

最近在恶补 CSS 相关的内容,感觉也算是小有收获,不禁想谈谈近两个月学习 CSS 的一点感悟。

回忆一下,其实 18 年上大二的时候就接触了前端三大件。不过后续学习的时候主要关注的还是 JavaScript。至于 HTML 和 CSS,随便了解了一下就过去了,并没有花费太多精力去学习。

直到真正开始做项目时,才明白 HTML 和 CSS 同样重要。说来惭愧,刚开始做项目时不知道怎么布局,只能一直用 position: absolute; 绝对定位。而且当时还不懂定位的真正作用,所有的组件定位都是相对根节点进行的。

更丢人的是我连选择器都用不好,把类选择器当 id 选择器用。往往一个类选择器只定义了一个的样式。同一类组件的公共样式部分的代码结构混乱,冗余度极高。

不过当时做的横向课题算是外包,没有代码质量审查之类的流程,再加上我对 element-ui 的使用日佳熟练,最后做出来的东西倒也把甲方对付了过去。

但那个项目完成以后,我始终对自己写的垃圾代码耿耿于怀。闲暇之时,我对自己代码进行了复盘,就仿佛看到了传说中的屎山的雏形。这让我有些难堪,遂决心拾起扔下已久的 H53 的相关知识。

这段时间不仅学习了 H5C3 的基础知识,还见识了不少纯 HTML 和 CSS 实现的特效。看着大佬们优雅地炫技,我感受到了做前端最原始的乐趣。

之前总是听人说前端不过就是“切图仔”罢了,心里对前端的工作其实是有些不屑的。但是真正投入精力学习以后,我才明白在前端技术日新月异的今天,前端工程师能做的早就不只局限于切图了,前端完全有能力优雅高效地实现各种炫酷的特效。

不过有时也会看到一些人推崇算法为王,但我始终觉得精巧的数据结构与算法其实更适合交给后端去完成,前端能熟练掌握排序、去重之类的常用的算法就可以了吧。作为一名前端工程师在保证开发效率的同时,应该对界面美化、组件交互等有一定的理解,并在产品中实现,给用户良好的视觉观感和应用体验(可能存在一定的臆想成分,毕竟我没有实际职场经验,也没有经历过极端的开发场景(比如后端传来一万条数据什么的…)。)。

总而言之,现如今前端工程师在开发工作中的职责和任务越来越重,最起码应该熟练掌握前端的基础知识。像我之前那样的忽视基础和原生语言的行为并不可取,希望我能知行合一,引以为鉴。