写给我前端同事,从事一年多应该要怎么成长的路线

写给我前端同事,从事一年多前端应该要怎么成长的路线

我知道在很多中大型公司,其实有好多领导前辈、以及师傅会给那些校招生,以及应届生规划一定的学习成长路线,可能还会有定期的大佬分享。有这么一个领路人、环境在其实成长是飞速的。

我入职了一家新单位,这家单位的没有太多规范,没有太多的组件封装积累,还会考核每周的代码量,我发现有些阶段代码量(测试阶段、需求阶段等)不够的时候大家都是往项目中塞没用的代码,还有些同学会复制公共组件的代码进自己的模块充代码,技术栈使用的是vue3 + js + ant-design-vue,一大部分人做的都是项目。

苏洋同学(化名)工作了2年左右,换过2家公司,第一家是个小公司也是在写一些后台管理的功能,这是他的第二家公司入职这家公司也有一年左右时间了。他逻辑,工作态度都没问题,也算是个积极上进的零零后好青年。他当前项目中的代码开发没问题,项目中多是一些业务表单,工作流之类的东西,有用户权限控制。有的时候他会请教我一些问题我俩也就从问题聊了聊技术,并且我把我的博客分享给了他,他说他有空会看看学习下。

我跟他从我的博客文章中聊了下他可能需要怎么做来获得成长,当然现在这个环境下我不能跟他说你多学一点可能工资就会高一些,假如在3年前我一定会告诉他,你学完这些其实可以换个公司去试试一定会比你现在的要高一点。可能学习完假如被迫换工作(裁员)了,机会会大点吧

大佬请绕路,我可能给的建议并不是最好的,但是我觉得对他来说现阶段是最使用的

针对他的成长经历规划

他的js基础可能没那么好,像一些数据处理上是有些问题,那么我建议他:

  1. 重新学习下js针对数组,字符串等API,像字符串的cancat、includes、indexOf、lastIndexOf、endsWith、startsWith等等,像数组的forEach、map、filter、reduce、find、findIndex、some、every等等,他说他有些好像没有使用过。 学习了解用法,并且写一样的源码。例如:
ts 复制代码
'123'.endsWith('3'); // true

export const _endsWith = (source: string, target: string) => {
  const len = target.length;
  const substrValue = source.substr(source.length - len, len);

  return substrValue === target;
};

_endsWith('123456', '56'); // true
  • 对堆和栈要有一定的理解,对深拷贝、浅拷贝有一定的理解。
  • 对宏任务和微任务以及事件执行的理解。
  • 对防抖和节流有一定的理解
  • 对this有一定的理解并写出apply、call、bind的实现。
  • 对类型判断instanceof、typeof、Object.prototype.toString.call等方法有理解。
  • 对对象方法的使用Object.keys、Object.values、Object.entries、Object.assign等等
  1. 去看下lodash的源码,例如:throttle、debounce、cloneDeep、groupBy、get、difference等等一些常用的方法函数要会写源码,最好自己写一遍。

  2. 对正则表达式能对有一定的理解,并且写出一些常用的正则。

  3. CSS 中对主题适配能有一定的理解,例如使用 less 和 Scss变量做主题适配,以及使用2套样式,或者使用css全局变量做主题适配。能区分出这几种的不同点

如果能把js的以上都能掌握了,那么你的基础算是扎实的了,差的可能就是工作经验以及深入了解一些框架的源码了。

  1. 这个时候可以学习下代码规范了,其实vue的话可以看看element ui组件代码的规范,组件的设计以及源码具体。至少能实现message组件以及按钮组件

  2. 学习下设计模式,例如:单例模式、策略模式、代理模式、发布订阅模式等等。

  3. 可以多看看怎么写防御式编程,让你的代码更加健壮(这也就是为啥项目中bug多的问题,代码写的还不够严谨)

  4. 可以去学习下TS,可能不用去特别做类型体操,基本的泛型能用,例如:Array<T>、Record<K, T>、Partial<T>、Pick<T, K>、Omit<T, K>、Exclude<T, U>、Extract<T, U>等等。

  5. 如果你对vue和react想深入研究,可以对比着使用看看它们之前的差异,有自己的认识。

  6. webpack的配置,对打包优化有理解,对loader和plugin有理解,对打包工具有使用过。

  7. 了解下npm,对npm 发布等命令有一定的理解,并且尝试自己发布一个包。

  8. 对git提交规范有理解,并且使用。可以深入了解下git规范定义以及拦截。

  9. 对 nginx 有一定的了解,并且使用。因为现在好多项目都是多页应用了,nginx就显得很重要了。

  10. echarts 是图表库,可以学习下他的那些简单图表怎么使用canvas画出来的。

恭喜,假如你上面都能学会,我觉得你很了不起了,至少算是中级前端工程师。

  1. 制定公司代码规范eslint, git 提交规范等等

  2. git CI制定工作流是很重要的,可以学习下。

  3. ...

  4. ...

  5. ...

结语

其实如果从事这个行业,可以把上面当作一个学习清单,然后按照顺序学习,这些都是必须且要学会的。然后把学习到的东西都记录下来。多总结,多思考,

相关推荐
传人once1 小时前
多图片上传预览功能如何写
前端·css·html·jquery·html5
Eric.461 小时前
Wan‑Animate+MiniMax-H3 本地部署 AI 漫剧流水线:8G 显存动作迁移与动态分镜工程实战
前端·人工智能·comfyui·ai漫剧
库拉镜像AI牛牛3 小时前
短剧内容自动化生产:知漫剧工作室落地教程
大数据·服务器·前端·人工智能·语音识别
律宏阔3 小时前
Flutter 列表图片内存优化:CachedNetworkImage 与 ClipRRect 的取舍
前端·flutter
行者全栈架构师3 小时前
【鸿蒙心迹】相册文搜图工程化落地:HarmonyOS 7.0 端侧 AI 检索全链路实战与 5 个踩坑解法
前端
律宏阔3 小时前
Dart 3 Record:解决 Future.wait 异构返回值的类型问题
前端·flutter
Seraphina363 小时前
DVWA(XSS Reflected/Stored High,CSRF Low)
前端·xss·csrf
默_笙4 小时前
🍔 中间件不只是打日志:四个钩子、一次短路,和自带的工具
前端·javascript
程序员老赵5 小时前
Docker 部署 Dolibarr:轻松搭建开源 ERP/CRM 平台
运维·前端·后端
星禾元亨5 小时前
同一件事有三份资料,AI 该信哪一份?冲突判定、优先级链与处置流程
前端·人工智能