jinchamchanwaji 发表于 2025-1-9 11:56:00

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

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

我入职了一家新公司,这家单位的没有太多规范,缺乏系统的组件库积累,并且每周还会对编写的代码量进行评估。我发现在某些阶段(比如测试阶段或需求讨论阶段),为了达标,大家会往项目里添加不必要的代码,也有人会把公共组件的代码复制到自己的模块中来增加代码量。技术栈使用的是`vue3 + js + ant-design-vue`,在这里大部分人都做的是`项目`。

`我的表弟`已经工作两年了,期间换了两次工作。第一份是在一个小公司,也是负责后台管理系统的开发。现在他在第二家公司已经工作了一年多。他逻辑思维清晰,工作态度端正,是个积极进取的00后青年。他目前的项目主要是处理业务表单和工作流等,包含用户权限控制的功能。有时候,他会向我请教问题,我们聊着聊着就深入到了技术层面,我还把我的博客链接给了他,他说他有空会看看学习下。

我跟他从我的博客文章中聊了下他可能需要怎么做来获得成长,不过在这个环境下,我没法直接告诉他多学点东西就能`涨工资`。如果是在三年前,我一定会鼓励他,学完这些技能后换家公司,待遇肯定会比现在好。但现在,我只能告诉他,即便学习后可能面临换工作的风险(比如裁员),但也会为他带来更多的机会。

>大佬请绕路,我可能给的建议并不是最好的,但我认为,对于他现阶段来说,是最实用的。

# 针对他的成长经历规划
>他的js基础可能没那么好,像一些数据处理上是有些问题,那么我建议他:

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


```java
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
```

2 .
● 对`堆`和`栈`要有一定的理解,对深拷贝、浅拷贝有一定的理解。

● 对`宏任务`和`微任务`以及事件执行的理解。

● 对`防抖`和`节流`有一定的理解.

● 对`this`有一定的理解并写出`apply`、`call`、`bind`的实现。

● 对类型判断`instanceof`、`typeof`、`Object.prototype.toString.call`等方法有理解。

● 对对象方法的使用`Object.keys、Object.values、Object.entries、Object.assign`等等

3.去看下`lodash`的源码,例如:`throttle、debounce、cloneDeep、groupBy、get、difference`等等一些常用的方法函数要会写源码,最好自己写一遍。

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

5.`CSS` 中对主题适配能有一定的理解,例如使用`less `和 `Scss`变量做主题适配,以及使用2套样式,或者使用css全局变量做主题适配。能区分出这几种的不同点
>如果能把js的以上都能掌握了,那么你的基础算是扎实的了,差的可能就是工作经验以及深入了解一些框架的源码了。

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

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

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

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

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

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

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

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

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

15.`echarts` 是图表库,可以学习下他的那些简单图表怎么使用`canvas`画出来的。
>恭喜,假如你上面都能学会,我觉得你很了不起了,至少算是中级前端工程师。
16.制定公司代码规范`eslint`, `git` 提交规范等等

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

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

<顺便吆喝一句,民族企业大厂,[前后端测试](https://jsj.top/f/o38ijj)捞人,感兴趣的来!>

jinchamchanwaji 发表于 5 天前

点点dian 发表于 2025-1-10 14:59
学会了

加油呀!
页: [1]
查看完整版本: 写给我前端同事,从事一年多应该要怎么成长的路线