干货分享丨研发代码质量管理技术最佳实践

2023-06-01 0 683

干货分享丨研发代码质量管理技术最佳实践

热烈欢迎将TalkingData标为隆哥蒙

每星期Genova等着你~

怎样高食品质量加速交货研制商品是每一名控制技术研制不朽崇尚的最终目标,怎样在加速插值正式发布下保证研制商品食品质量是每一名控制技术研制要协力思索的难题。

日前,在“Android巴士亚洲地区开发人员高峰论坛·上海站”全会上,TalkingData SDK控制技术研制副经理韩双佳做了专文《研制标识符食品质量管理工作最差课堂教学》的主轴撷取,将TalkingData SDK完备的食品质量保证制度的建立操作过程和最差课堂教学撷取给大部份开发人员,期望能对我们有协助和先进经验。

干货分享丨研发代码质量管理技术最佳实践

TalkingData SDK控制技术研制副经理 韩双佳

下列是韩双佳的撷取弯果:

在演说Hathras,韩双佳具体来说预测了终端端网络平台行业发展态势,主要就包括下列四个路径:

具体来说,双模是移动端网络平台的主要就态势,去年9月正式发布的iPhone新一代机种早已全力支持了双模,这对消费市场将起著非常大的驱动力促进作用。

其次,由于人工智能的不断演进,两大网络平台也不断对其进行控制技术跟进,比如Android网络平台的TensorFlow,以及iOS网络平台的CoreML。

第三,用户隐私政策会越来越严格,不仅用户自身非常重视隐私,国家相关法规也日益完善,终端端网络平台的行为权限将逐步受到严格约束。

TalkingData基于相关政策为不同网络平台提供相应的适配和全力支持,也正因如此,就需要一个良好的标识符食品质量管理工作体系去保证TalkingData SDK的食品质量和稳定性。

回顾TalkingData SDK整体架构的演进史,可以简单分为四个阶段:

简单分层:只全力支持一条业务线;

多服务:满足不同业务线逐渐增加的需求;

微服务&模块化:满足不同开发人员打包定制化的需求。

在功能叠加的操作过程中,需要对标识符架构进行调整,那么此时应该思索两个难题:架构调整的原因什么?调整的目标是什么?

带着这两个难题,韩双佳从四个部分进行了阐述。

标识符分支管理工作

当标识符分支不断增加,现有的人力和控制技术框架将无法全力支持功能的加速插值。即便在某一个分支上解决了bug,但还需根据不同的场景将其添加到不同的分支上,分支的标识符就会产生非常大的差异,又需要投入更多的精力和时间去解决相关难题。

为此,TalkingData SDK进行了改造,将分支分为:对外正式发布交货分支、开发测试分支、以及个人建立分支。同时,也对原有的直接拉取分支的原因进行了一些反思:在架构设计Hathras,标识符之间的耦合性较强,同时没有从业务或数据角度去进行独立设计,在打包的参数上没有进行动态配置。

为了改变现状,TalkingData制定了四个最终目标,一是改变模块之间的通讯方式;二是重新设计标识符功能模块;三是约束标识符之间的边界,尽量消除耦合性。

干货分享丨研发代码质量管理技术最佳实践

解决方案主要就采用了微服务的思想——服务之间相互独立,随意调用或组合;对功能模块和数据模块进行了拆分;改变通讯方式做到解耦的效果,又将动态的配置参数分离出来,实现了全力支持多条业务线,并且可以满足定制化的需求。

在打包上进行了标签化的管理工作,同时配合标签检查脚本,达到定制化勾选和服务的打包功能。

韩双佳表示,在架构重构时,需要进行一些取舍和选择,其核心思想是:架构在于目的而非框架,因为架构最终是要服务于业务的。他还提供了5大原则作为参考:

独立于框架

可测试性

独立于UI

独立于数据库

独立于任何外部代理

而在选择架构时应从易于维护、易于测试、内聚以及最核心的解耦出发,要让模块之间互相独立。

SDK功能打包管理工作

TalkingData SDK提供不同业务线打包的定制化开发需求。在庞大的体量中,怎样保证打包的功能正常、方便测试?为此,在设计最终目标当中加入了分层的考量,具体来说是用户输入信息:邮箱、业务线以及所需网络平台,然后是整个网络平台的业务处理、输出的用户申请功能包,最后通过邮件发送给申请的开发人员。

逻辑流程如下图:

干货分享丨研发代码质量管理技术最佳实践

在打包管理工作中,比较常用的工具有 GitLab、Jenkins、Server。

标识符review规则及流程

在标识符review中设置人为检查和脚本检查两种机制。

在人为检查中,负责review的人员必须要参与最初的需求和设计的审核,不仅要了解整个功能需求的细节,还需要对功能或测试负责,撰写review checklist,最后要交货review 模板,在出现难题时可以进行难题追踪。

在脚本检查中,需要进行编译和制定标识符规范、静态标识符检查,以及安全漏洞等方面的工作。

以上两种机制可以让标识符review真正起著促进作用,而避免沦为形式化流程。

TalkingData SDK在标识符review时有几种方式:

1对1:改动较小的bug、需求和优化

1对多:改动较大的bug、需求和优化

与其他公司选用控制技术主管或特定人员作为标识符review人员不同的是,TalkingData SDK 的标识符review主要就由组内成员相互之间进行,这样对个人的控制技术和框架理解会有所协助。

标识符review模板主要就有四个部分:谁做的review?发现了什么难题?怎样解决整个难题?好的标识符review模板要做到难题可记录、难题可追踪。

标识符食品质量管理工作的工具

在标识符质量管理工作的流程中,TalkingData SDK在标识符托管上使用了GitLab,在项目管理工作上使用了JIRA。之所以选择这两个工具是因为两者可以互相打通,方便后续在遇到难题时可以根据记录进行排查。

研制流程如下图:

干货分享丨研发代码质量管理技术最佳实践

其中,单元测试在研制中是非常重要的,开发人员写完一个功能模块的主流程通常没有难题,可以做到自测;但是分支的一些处理流程,即便交给测试人员也很难测试出来。因此单元测试就显得尤为重要,它可以覆盖很多异常分支,所输入的条件在参数当中可以动态设置。

QA测试流程如下图:

干货分享丨研发代码质量管理技术最佳实践

在前期,会由研制和QA整理一些测试用例,分为高中低等不同的级别,研制在提测时会有测试通过率,以保证测试的效率。

另外,TalkingData SDK 在上线后也需要去做一些监测,比如交货食品质量、对不需要功能做删减、打包的完备性等等。

干货分享丨研发代码质量管理技术最佳实践

总体来说,即采用微服务的思想,尽量让功能模块化管理工作,利用工具管理工作流程,进行单元测试,同时上线前后都要设置一些检查策略,做到万无一失。

最后,韩双佳表示,流程并非形式,需要真正地落地执行,长此以往,就会对效率有非常大地提升。

干货分享丨研发代码质量管理技术最佳实践

干货分享丨研发代码质量管理技术最佳实践

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务