这半年,我做了什么?

在酷家乐实习整整半年,期间收获颇多,趁着处在年底业务稍微停滞期,做一个年终总结,也列出一些最后几个月的实习目标。

技术

移动端的熟悉

移动端在10月份随着Dapp上线到店购板块,用户的使用习惯向移动端靠拢,重要的业务必定会有移动端,随着一次次实践:

  1. 引入rem适配方法,解决了不同尺寸的机型也能拥有一致的视觉体验。
  2. 因为ant-mobile没有像ant-design一样有form组件,于是结合rc-form与统一的到店购表单Item样式,封装了移动端的表单模块,使得能开发移动端的表单也能像使用ant-design的form组件一样优雅,不再需要写重复的UI与校验逻辑,可读性高且易于维护。
  3. 对于移动端交互与pc端的差异,交互设计师往往对于一些交互细节并没有实际考虑到,只有在开发的时候才会发现,一次次尝试后,也算有了一些自己的交互心得,在交互视觉评审阶段,也能向视觉、交互反馈一些细节点,达成一致。
  4. 结合到店购业务需求,封装了较多的移动端组件,对于表单组件,能像antd的一样可插拔式应用到项目中,达到一次开发,不断迭代,重复使用的效果。

还需要进一步学习的:

  1. h5页面嵌入到dapp后,如何与原生逻辑进行联动。
  2. h5页面的性能优化。
  3. h5在普通浏览器、微信浏览器、dapp中的支付实践。
  4. 对于安卓不同品牌机型、IOS适配问题上,还需要多踩坑、去看看别人踩的坑。
  5. h5上对上传文件、图片,速度、交互体验上进行探索,不断优化用户体验。

基础知识的真正实践

在实习前的自我学习中,并没有很多机会接触大型项目,看书中的很多内容,也只是知道个原理,并没有实际使用过,于是很多知识点,学过后,印象不深刻,容易忘记,像闭包、箭头函数、不常用的es6语法、计算机网络等,在真实项目中实践,才有了更深的认识,拿起之前的书,再次阅读,有种温故而知新的感觉,甚至有些知识点,之前总是想不明白,后来再去看,顿时醒悟,我想,这便是实习真正的价值所在吧。

当然,还有很多基础知识还需要自己学习与总结,地基还需要进一步打牢。

组件封装的思维

刚开始写业务代码的时候,往往不会考虑到一些组件会在将来使用到,于是并没有抽离到公共组件,导致第二次写的时候,从之前的基础上复制代码过来,改改样式逻辑,直接用上去,导致后面维护起来,相似代码多,统一修改成本非常太大,还好这种错误较早地被改正,但是真正去封装成公共组件时,又发现需要考虑的点太多,反复阅读之前小伙伴封装的组件源码和一次次地去尝试与迭代,对于封装公共组件的可插拔性、逻辑的划分、样式的可拓展性,也算有了一些理解与经验。

负责营销业务线

从主站接手营销业务线,从技术上来讲,新起一个repo,参考不器的运营后台,配置开发环境和部署脚本,熟悉了基本的新建项目流程,对k8s、docker也有了基本的认识,也激发了自己对这种基础设施原理知识的学习欲望。

能力的拓展

在去年12月加入仙儿组织的node虚拟小组,虽然自己有一些基本的node开发经验(提供简单的CURD接口),但是加入小组后,看了node-labs源码与组员之前的分享材料,才发现自己对于node的文件操作、父子进程、写前端命令行工具等知识并不熟知
,然而这些才是node的精髓,因此还需要花很多业余时间去学习,希望明年在小组里能尽自己一份力,给大家带来些新的实用工具。

开发流程

经过很多个sprint,对敏捷式开发有了更深的认识,对自己的开发节奏不断优化,同时也试着去了解后端、测试、视觉交互的工作流程,这样就能以最高的效率进行合作,即不给对方太大压力也不让自己处在padding状态,使得自己的开发效率比起之前有了较大的提升。

产品思维

在来酷家乐之前,并没有意识到,作为开发,也需要考虑产品层面上的问题,在到店购人人都要对产品负责,都有权利与义务去把控产品质量,作为一个开发,拥有严密、创新的产品思维还是很具有挑战性的,因此在平时生活、学习中,对使用的一些互联网产品进行深度的体验和自己的思考,也关注了一些产品知识的公众号,在业余时间也能补一补相关的知识,尽量在产品做出来之前,能给出一些好的意见。

协同能力

写完代码只是完成了工作的一半,还需要很多时间去和自己的合作方进行对接。

后端:与后端进行接口的确认,联调时间节点的安排,督促其提高自测意识来提升联调质量,关注其新代码上到不同环境的时间节点,阐述清楚bug的缘由尽快修复bug。

测试:与测试建立稳固的信用体系非常重要,对提测时间的安排尽量可靠,预留多一点测试时间,做好上线的风险把控,最重要的是务必保证提测质量,不然bug太多,将会导致测试处在一个padding期,测试质量和上线安全性将会大打折扣。

产品:在需求评审前务必熟悉prd,这样才能在评审的过程中发现其中存在的坑点以及需要确认的点,需要多从开发的角度上提出产品没有意识到的细节问题,尽量让产品在开发前补充完善其prd,这样做能有效降低开发过程中的改需求频率。

视觉交互:作为前端,务必提高主动性,时刻关注着一个需求的视觉交互已经到达了什么阶段,遇到延迟务必同步团队,调整开发节奏和评估提测风险,而不是到了最后来压缩测试时间甚至延迟上线,然后把锅甩给视觉交互。

运营:运营并不关心技术的实现,上线后的bug往往是从运营那边反馈过来,运营真正关心的是,bug什么时候能修好上线,丢失的数据能否找回,bug影响面多广,开发能做的则是尽快配合测试或者后端找出bug,快速找到修复的方式,综合影响面考虑是否紧急发布。此外,多和运营聊聊天,了解产品有多少人使用,反馈一些优化用户体验的建议。

新年计划

  1. 理解DDD领域驱动设计,并且在实际项目中使用,对团队的领域建设多作出更多贡献。
  2. 在技术层面上,多出一些自己的总结文档,可以的话,能做一些分享最好。
  3. 学习移动端相关知识,有机会参与团队Dapp开发就更好了。
  4. 探索更多H5的开发知识和使用场景
  5. 学习更多Node相关的知识,并且能够产出提高开发效率的工具
  6. 调整更规律的生活作息,提高工作效率,减少加班