前言
在阿里做前端一年多了,身边的同事很优秀,自己对前端的理解也和来阿里前大不相同。
怎样才能算是一名靠谱的前端?以下是我的理解。
技术能力
代码编写
-
代码对人友好
-
代码可读性
机器执行代码,并没有什么可读性而言。但程序是写给人看的,这就涉及到可读性的问题。
如果写代码时,不注意可读性,所以自己写的代码,别人很难看懂,甚至过一段时间后,自己也看不懂。
所以,在写代码时,一定要注意可读性。
-
可维护性
良好可维护性的代码,有以下特点:
-
可读性好
-
逻辑清晰
-
可扩展性良好
可读性:上文已经聊过,不再赘述。
逻辑清晰:清晰的代码逻辑,对于日后的维护非常有利。
可扩展性:对于频繁变化的业务需求,代码的可扩展性就尤其重要了。
-
-
性能
性能优化的重要性在平时的普通页面上体现的不太明显,但对于大型活动页面,有复杂的业务逻辑,庞大的展示内容,此时,性能优化就尤其重要。而性能优化的内功要修炼在平时,临时抱佛脚,是抱不来的。
-
-
代码对机器友好
符合规范的
html
标签等,对搜索爬虫友好,有利于SEO。
调试技巧
写代码,bug
在所难免,无论是线下还是线上bug
,有条理的分析、处理bug
,是必须要做到的。
这一点我感同身受,刚入行时,遇到bug
,就紧张了,也不看报错信息,也不分析为什么出错,光知道着急,不分析,吃了不少亏。
非技术能力
各种意识
这个说起来很虚,但做起来很实。
一位同事和我分析过职场中不同层次职位的人的状态:
-
第一层次:无意识、无行动
即意识不到自己存在的问题,也没有行动去解决。
-
第二层次:有意识、无行动
这就比第一层次高了些,至少意识到了自己存在哪些问题,但总是停留在计划、想这个状态,却缺乏行动,俗称“拖延症”。
-
第三层次:有意识、有行动
这个层次的人,给人的感觉就是靠谱了,能主动思考自己存在的问题,并及时采取行动解决,自我驱动能力强。这样的人,绩效不好都难。
-
第四层次:无意识、有行动
到这个层次,自我驱动已经成为习惯,不用再显性地提醒自己,能自发地解决存在的问题。这个阶段很像数学中的无穷大概念,无限趋近却难以达到。
说了上面几个层次,再联想一下平时和小伙伴合作时出现过的情况,比如一个项目上线了,中国地区的线上页面正常,美国地区的线上页面却挂掉了,过了一天才有人发现这个问题。这个问题,就可以用“没有完整验证的质量意识”解释了,如果这个意识很强,自然就会主动验证各个地区的页面是否正常,也就不至于线上问题出现几天才有人发现。
非前端领域
深入理解业务
-
对写代码有好处
很多技术同学,最不关心的恰恰是业务,认为业务是业务,技术是技术,技术实现完业务需求就OK了,不需要深入了解业务。
但,代码逻辑本来就是业务逻辑的反映,如果连业务都理解的不清楚,稀里糊涂地写完了代码后,发现业务逻辑和代码逻辑根本就不匹配,就傻眼了。
-
在深刻理解业务的前提下,通过技术手段促进业务的尝试成功率能显著提高
精一行,通十行
作为一名前端,关注自己的技术领域自然是必须的,这就是“精一行”。
但同时,前端也要“通十行”,即对业务、视觉、交互等等“非前端”领域也有比较深的见解。
为什么要“通十行”?
-
有助于反哺技术
业务、视觉、交互等的变化,也会直接体现到技术实现方案上,因此对于这些领域,前端人员也要有自己的见解,不能别人说什么就是什么。
-
专业的不代表最优的
可能合作伙伴有专业的交互设计师、视觉设计师、产品经理,但专业不代表他们的方案一定是最优解,从自己的角度提出的这些领域的见解,也能成为最优解
-
有助于个人影响力提升
走出去。提出对非前端领域的见解
除了对非前端领域的了解,也要能对相关方提出自己的见解,这对个人能力成长、个人影响力提升很有好处。
表达
这就不多说了。
我发现一个情况,表达能力对于技术人员的个人影响力的提升作用,堪比四两拨千斤。想想也是这么个道理,技术人员普遍表达能力不强,在其中的表达能力强的,也自然很容易脱颖而出。
做事方法
不要只会写代码。随着升职,要处理的事情越来越多,责任越来越大,这时候,相比些代码,做事方法就显得更重要了。比如在一个大项目开展前夕,一定要花足够的时间评估、分析项目,而不是码农思维上来就干活,免得白忙活一场。“谋定后动”就是一种做事方法。
后记
其实,优秀的前端要求的能力还有很多,这里只是稍微整理了一下我自己的感受。
共勉。