本周工作思考
- Web 课程小节列表排序
- 总体目标上实现和产品设计一样丝滑的拖动排序,因为涉及章节和原有的推动实现不太一致,另外一个设计目标是对原来的改动尽量少的改动,减少回归,但是一些交互细节会导致大量的变动,目前的设计思路是对原来的实现做大量的改动,包括章节拖动实现。拖动排序实现原理很简单,相对我们的实现的排序要兼顾的业务点交的多,所有实现起来并不简单。
- 课程市场1.5
- 报名这块的问题比较多,主要是涉及老业务的改动和新增,涉及angularjs和wap的代码改动,这两处代码的相比其他repo,我的评估是开发效率降低40%-30%, 主要原因是angularjs的开发和react的开发体验完全不同,缺乏ts的类型约束,导致老功能的数据结构模糊不清,代码结构随着不断迭代,代码思路出现分叉扩展比较困难。对angularjs的长期目标还是逐渐降低其在整体代码中的比重,另外一个比较重要的就是提升angularjs的开发效率,如增加angularjs的ts的支持,严格的限定angularjs的新增的思路,完善angularjs-react混合开发的机制;
- 目前比较务实的分析,angularjs近2年内无法完全消除,假设平均每年有10周/人full time研发项目涉及angularjs的项目,按照40%的效率损耗,大概有会多出3-4周的开发时间,未来两年我们可能会有6-8周的效率损耗在pc开发上,下半年再做业务点的同时拿出2-3周时间做angularjs的技术优化,两年能带来2-4周的节省,也就是能省出一个重点项目来,从成本和技术两个角度考虑,下半年都有必要提升angularjs的研发技术;
- 下半年的业务优化点会比较多,于此之外,技术升级不能停止,技术升级带动效率的提升是直接和最有效果的,人的效率提升很大程度上取决于技术手段的升级,这块需要认真考虑和执行。