最近换了一份工作,来到一个新团队,不同的环境,不同的技术栈,下面是我的总结

之前做toC端的项目较多,主要用的是Vue技术栈,React很久没写了,现在用起来效率不算特别高, 这星期大概写了3k行代码,对团队的代码、业务、开发模式也有了一个大概的认识。 React基于Immutable + referential equality check这种编程范式,需要好好加强学习。 团队用的redux-saga这个库,结合duck还有TS封装了自己的库,业务代码中大多使用Class类的继承来开发逻辑, 有些Duck类的继承链很深,封装的深,里面的一些方法和属性没有文档可以很好的说明,让人有些摸不着头脑。 不过这些Duck类一旦搞清楚具体的作用和方法、属性,就和使用Vue的DSL语法一样,可以达到很高的开发效率。 项目中想自定义样式写样式比较麻烦,需要写字符串模版insertCss。

感觉需求上面交互、设计这一块比较弱,具体的交互和设计需要自己脑补。 接口API格式不是应该提前定好吗?先按照契约开发,再联调。 现开发模式是通过代理js文件在其它环境上开发,不能本地起服务,没有Hot reload功能,打包速度比较慢, 保存后大概要5秒左右刷新界面才能看到效果,打包出来的文件很大,如果想去文件中打断点,电脑基本会卡死。

技术中的几个疑问 1.子duck怎么获取父duck中的State, redux不是单一数据源吗? 2.路由跳转时,参数如果是duck里面的params默认值或空,会被再次重定向,导致需要点击浏览器两次后退按钮才能回退到上个页面,看了一下 这个逻辑是封装在 shouldReplaceRoute 里面的,发布在npm包里,业务代码里面改不了。现通过补全参数解决此问题。 3.代码规范问题,空格缩进、不用分号等这些基本比较统一,但有些地方是单引号、有的是双引号,这个比较疑惑, 个人建议,统一使用单引用(包括HTML组件),文件使用UTF8 LF,对象末尾逗号补齐。