从公司的code Review 中提升编码能力,发现与其他人的差距

前言

不知道大家有没有感觉, 一到三年工作经验的其实差距还是很大的 ,有的一年工作经验的能力的确比三年的更强点,难不成他们是天生编码能力强?非也!是因为他们会花更多的时间去学习去思考。

其中个人觉得 code Review 和 学习优秀的开源项目 会让你的编码能力提升的非常快..

仔细来说说 code Review 的好处吧:

  • 多人一起review 你的代码的时候 会迸发出更多 想法 让你知道 你又哪些方面没有考虑到
  • Review 水平比你高的 你可以在他的编码习惯中学习到 很多思路与设计
  • Review 水平比你低的 你可以看看那些错误是怎么发生的 从而以后去避免他
  • Review 和自己差不多的 你可以换位思考 看看自己和他的 实现方式的区别

分享一下我们Review 的代码

下面代码都是 伪代码 ,请勿较劲,并且每一家公司有自己的 规范与习惯 如果和你们的习惯不一样 ,那就是你们对 仅供参考~

1、对于只有一个 if else 并且简单赋值可以用三元表达式优化

修改之前:

优化后:

对于 不变的并且结构很长的这种对象或数组,可以放到一个 ts 文件,通过引入的方式,这样代码看起来会代码更简洁明了

2、用map 映射 替换重复判断的 if else

修改之前:

优化后:

对于重复的 if else 判断,可以用map 结构去优化,这种也是设计模式中的 策略模式 ,这样就会避免代码中大量的 if else 让人看代码的时候头疼

3、将forEach+splice的方式 替换成findIndex+splice

修改之前:

优化之后:

每次写代码的时候不应该只会使用 forEach, 这个场景就 通过 findIndex 直接找到索引, 删除那一项 这样不会像 修改之前那样 每次都要遍历完数组 复杂度会大大降低

4、将判断提前

修改之前:

修改之后

将判断提前,就不用if里面包裹大量逻辑,并且优化性能,当 dataNum 不存在的时候 就不会执行下面的代码了

5、太多重复的对象代码 可以用解构的方式

修之前:

修改之后:

params 参数就是 应用于 form 没必要一个个的赋值过去 可以 可以用 ... 的方式

6、对于大量的 重复类型可以用 Pick、Partial、Omit 等ts 的内置类型 对 一个类型去做 类型提取

修改之前:

修改之后:

这样的的话 尽可能就是对一个大的类型进行收敛 而不是分散的 各种重复的类型

7、避免使用 魔法数字 可使用一个常量 或者枚举去替代

修改之前:

修改之后:

将 魔法数字 120 改成一个常量 加上注释 这样会 清晰很多

8、尽量少的造轮子

修改之前:

修改之后:

这里逻辑是关闭elemnet 之外的 弹框 其实没必要自己手写这种逻辑 而且写不好还有可能有一些奇怪的bug 在vue3 中比较广泛使用的自定义hooks就是 vueuse 大家可以多看看 这种库 不仅提高开发效率 还有利于学习如何编写自定义hooks

总结

如果你是一个刚入行 并且公司只有你一个前端 其实个人觉得 会很难养成一个好的编码习惯 因为没有可以参考的地方,这种情况公司没有大佬 也没有机会组织code Review 那你就可以多看看开源项目 比如 vue3 的 elemnet-plusvbenvue3-admin-vite等等,如果你公司有 code Review 的活动请牢牢抓紧它 因为你可以从中获益匪浅!

相关推荐
s11show_16328 分钟前
hz修改后台新增keyword功能
android·java·前端
二个半engineer35 分钟前
Web常见攻击方式及防御措施
前端
co松柏41 分钟前
程序员必备——AI 画技术图技巧
前端·后端·ai编程
前端大白话1 小时前
前端人速码!10个TypeScript神仙技巧,看完直接拿捏项目实战
前端·javascript·typescript
五号厂房1 小时前
React 异步回调中产生的闭包问题剖析及解决
前端
用户2031196600961 小时前
GeometryProxy 和 GeometryReader 的区别
前端
前端大白话1 小时前
前端必看!10个React实战技巧让你代码起飞,附超详细注释
前端·javascript·react.js
bigyoung1 小时前
使用 Arco Design 的 Table 组件实现可编辑列
前端·react.js·arco design
前端大白话1 小时前
前端必学!10 个超实用 Vue3 实战技巧大放送
前端·javascript·vue.js
谦谦橘子1 小时前
手写react-router,理解react-router原理
前端·javascript·react.js