V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
PlumKTse
V2EX  ›  前端开发

如何管理项目中的 AbTest 实验代码?

  •  
  •   PlumKTse · 2022-05-27 10:47:46 +08:00 · 673 次点击
    这是一个创建于 713 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在做的项目经常需要开设实验,在页面载入的同时请求后端得到根据用户 ID 分组的实验参数,以这个为依据对不同的用户展现不同的效果,最后 DA 分析数据采用最优方案。现在问题是项目中遗留了很多这样的实验代码,充斥着大量的 if/else 语句,这些语句有绑在 HTML 上的,也有在函数里面的,也有设置在 class 上的,最后实验结束移除这些实验代码就比较麻烦。现在就想把实验逻辑和业务逻辑区分,想了一种方案:

    在需要进行实验的页面或组件下设立 AbTest 文件夹,首先根据实验名创建文件夹,在每个实验文件夹下面创建不同实验组的文件夹,每个实验组文件夹里面放具体的代码,比如 JS 可能就是写函数,比如实验组 A 下的 Test 函数表现的行为是 console.log('A'),实验 B 下的 Test 函数则是 console.log('B'),然后编译时会去把这两个函数改个名,比如 TestGroupA 和 TestGroupB ,挂载到页面或组件实例上,然后创建一个同名函数 Test ,根据异步请求得到的实验参数去判断具体执行哪一个。

    这个方案的一个优点是写起来比较清晰,但是代码容易冗余,代码提示可能也没办法特别完善。想问问各位大佬,对 AbTest 这种实验代码分离有没有什么更好的方案

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3855 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 04:20 · PVG 12:20 · LAX 21:20 · JFK 00:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.