「2017 年中秋,摄于日本东京台场」
时间来到了国庆,今年国庆和中秋可是一起的噢。想去日本旅游~
📔 日本語学習計画
截至目前《新版 中日交流标准日本语 初级上、下》完成第 9 单元学习。加油!
📚 建立自己的前端知识体系
1. 计算机图形学
截止目前学习进度至:「材质与外观」 学习进度停滞
简单尝试了 Three.js
做鼠标跟随。
2. 可视化团队
9 月是参与可视化团队的第二个月,工作当然是比上个月更忙了,简单介绍一下这个月的工作内容,负责以下内容:
- 平台整体代码重构工作:
- 脚手架迁移更新
- 全面采用 TypeScript 开发
- 平台运行时逻辑优化
- 核心逻辑单元测试
- 等等其他支持
脚手架迁移是一个新的尝试,从 Vue CLI 2 构建的项目迁移至 Vue CLI 4 进行构建,并同时将语言由 JavaScript 切换至 TypeScript 。我非常喜欢的工作内容,也是我在今年想做的一件事情,非常开心,很有动力。
在代码迁移过程中,你会发现旧代码中 Lint 规则很多都是过时且不好的,虽然很多可以使用 --fix
进行修复,但是还是有很多代码需要手动修复,也就从这一点也发现了很多的不明显的 BUG 和多余的文件。
在脚手架迁移的过程中,学习 Webpack chain 的使用方式,在同事的帮助下节省了不少学习成本,从一开始的抵触,到慢慢的接受,再到现在的习惯,回顾起来其实还是很清晰方便的。真香!
当然了,由于一些依赖的升级,旧依赖没必要在新的环境中使用,也遇到了一些问题。比如 PostCSS 的使用问题,此次我才知道原来 plugin
是有顺序的,是线性执行的,也移除了一些旧的插件,使用 precss 来代替,非常的方便。
在迁移完脚手架和 TypeScript 后,联系后端进行 CI/CD 的 TS 分支自动化部署测试,也相当的顺利,对 CI/CD 也有了更多的学习和认识,对 Docker 也有了些兴趣~
在优化平台运行时逻辑时,需要充分为单元测试做考虑,比如我做了如下的优化手段,抽离挂载在 Vue.prototype
上的公共方法,将使用模块化的形式使用,这样的优点是更适合做单元测试,让函数更纯粹。
对原有的 mixins
进行抽离,放弃使用这个危险的功能。由于目前还暂时不敢使用 Vue 3.0 版本,基于 Vue 2.0 我决定使用 @vue/composition-api
来代替 mixins
,这样的做的优点是不仅可以抽离出公共的逻辑,并且利于做单元测试,让逻辑更清晰。并且提前使用 @vue/composition-api
会让未来在迁移到 Vue 3.0 的过程变得轻松。
当然还对 Vuex 做了类型约束,约束方式则参考「 Vuex + TypeScript 」,一个很不错的类型约束写法,由于目前使用的 Vuex 还是 3.x 版本,暂时未升级到 4.0 版本以上,所以在 Vue 文件中使用类型约束暂时还不行,需要后续再做尝试了……
噢,对了。在迁移 watch
钩子的时候才从同事这里得知 Vue 2.x 中是有一个 sync
参数的,查阅资料发现在 Vue 3.0 是给开发者提供了文档说明,但是在 Vue 2.x 似乎没有,使用 @vue/composition-api
可以使用 flush: 'sync'
来使用,但是使用 vue-property-decorator
的 @Watch
装饰器时却无法使用,查看源码发现就不支持,于是自己内部重新构建了一个支持 sync
的 @Watch
装饰器使用,并且给该仓库提了一个 PR#346 。
截止国庆,重构的工作并没有完成,单元测试目前覆盖率仅 5 % ,平台运行时的逻辑优化也没有开始做,计划将运行时写的更优雅,使用类似于 React 事务的模式去合理的规划平台的运行时,让平台运行的更可控,加油,挑战设计模式!
3. 文章推荐
🏇 锻炼身体
重新开始恢复锻炼,感觉出出汗还是挺舒服的,当然也是防止肥胖。啊~肥胖,远离你!
新的规划
也慢慢感觉到了自己想在新的一年的目标和规划:
- 扎实前端相关知识基础(比较宽泛,需要罗列细节)
- 更多的以产品经理角度思考问题,发现问题
- 更多的以项目经理去沟通,学习沟通,锻炼沟通能力
- 领域的深耕似乎还是迷茫,多去做尝试和选择
- 本文链接: https://zongzi531.com/2020/10/01/%E4%B8%80%E6%AD%A5%E4%B8%80%E6%AD%A5%E5%90%91%E5%89%8D%E8%B5%B0/
- 版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 许可协议。转载请注明出处!