后端跟前端讨论:如何对比分析AB方案?

news/2024/7/5 3:30:34

目录

一、结论

二、场景再现

1、方案说明

2、不同思维的碰撞(重点)

(1)场景描述

(2)后端思维

(3)前端思维

3、我作为后端说一句


一、结论

不是在设置相同条件下进行对比。

而是在同一个场景下,对比AB方案操作后出现的结果

因为在真实应用中,方案是解决某个场景,而不是单独存在

二、场景再现

例如:用户个人信息修改头像问题,分享AB方案的优劣。

1、方案说明

A方案:
单独修改头像,前端调一次接口。
完成存文件(只有1个文件),将文件url设置到个人信息中。

B方案:
头像跟着个人信息修改,前端调两次接口。
第一次(命名为B1),获取文件url,这时只完成了存文件。(在B2接口未调用前,可以重复调用,每次存1个文件)
第二次(命名为B2),修改个人信息,这时会同步将最终提交的文件url设置到个人信息中。

2、不同思维的碰撞(重点)

(1)场景描述

我在修改头像时,上传一次觉得不满意,我会再选另一个,也会还会选第三个,以此类推。

这种情况下,分析AB方案的优劣。

注:

成功修改一次头像,就是每种方案执行到最后一步。

假如要换3次图片,才满意这个头像。

(2)后端思维

我成功修改1次头像,
A方案,只调用1次接口,最终只保存了一个文件。
B方案,在极端情况,会保存n个文件(第一次接口调用n次)。

如果成功修改3次,A方案是3个文件,B方案是n*n*n 。

我的结论:

B方案不好,可能会存在很多垃圾文件,浪费硬盘资源。

(3)前端思维

A方案:

要完成设定的场景,我要成功修改3次头像。

这是3个文件。

B方案:

要完成设定的场景,我会调用3次B1接口,不过只成功修改1次头像。

这也是3个文件。

我的结论:

两个方案一比较,没出现多余的垃圾文件。

这两种方案可以并存的,也就是同时拥有。

3、我作为后端说一句

要用用户思维来分析方案。

因为前端在写页面,更懂用户。

所以,我觉得按前端的分析更合理。

再则,方案是解决问题,而不是设定相同条件看结果。

问题,可以有多种方案,其中的条件不一定完全相同。

所以,根据问题应用方案,然后从最终得到的结果来分析,更靠谱。


我是程序员娟娟,

致力将工作中遇到的问题和解决方案记录下来,

分享给更多需要的同行。

如果对你有帮助,不妨点个关注吧!


http://lihuaxi.xjx100.cn/news/1830230.html

相关文章

JAVA毕业设计112—基于Java+Springboot+Vue的宠物领养社区小程序(源码+数据库)

基于JavaSpringbootVue的宠物领养社区小程序(源码数据库)112 一、系统介绍 本系统前后端分离带小程序 小程序(用户端),后台管理系统(管理员) 小程序: 登录、注册、宠物领养、发布寻宠、发布领养、宠物社…

C++动态规划算法:最多可以参加的会议数目

本周推荐阅读 C二分算法:得到子序列的最少操作次数 本题的其它解法 C二分算法:最多可以参加的会议数目 II 本文涉及的基础知识点 二分查找算法合集 题目 给你一个 events 数组,其中 events[i] [startDayi, endDayi, valuei] &#xf…

2、git进阶操作

2、git进阶操作 2.1.1 分支的创建 命令参数含义git branch (git checkout -b)<new_branch> <old_branch>表示创建分支-d <-D>删除分支 –d如果分支没有合并&#xff0c;git会提醒&#xff0c;-D强制删除-a -v查看分支-m重新命名分支commit id从指定的commi…

代码随想录-刷题第七天

454. 四数相加II 题目链接&#xff1a;454. 四数相加II 思路&#xff1a;哈希法。使用map集合&#xff0c;key存放ab的值&#xff0c;value存放ab出现的次数。使用两层循环&#xff0c;循环前两个数组&#xff0c;找出ab&#xff0c;对map赋值。再用两层循环&#xff0c;遍历…

requests请求django接口跨域问题处理

参考&#xff1a; https://zhuanlan.zhihu.com/p/416978320 https://blog.csdn.net/SweetHeartHuaZai/article/details/130983179 使用httpx代替requests import httpxheaders {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.3…

机器学习第13天:模型性能评估指标

☁️主页 Nowl &#x1f525;专栏《机器学习实战》 《机器学习》 &#x1f4d1;君子坐而论道&#xff0c;少年起而行之 文章目录 交叉验证 保留交叉验证 k-折交叉验证 留一交叉验证 混淆矩阵 精度与召回率 介绍 精度 召回率 区别 使用代码 偏差与方差 介绍 区…

详解Rust编程中的生命周期

1.摘要 生命周期在Rust编程中是一个重要概念, 它能确保引用像预期的那样一直有效。在Rust语言中, 每一个引用都有其生命周期, 通俗讲就是每个引用在程序执行的过程中都有其自身的作用域, 一旦离开其作用域, 其生命周期也宣告结束, 值不再有效。幸运的是, 在绝大多数时间里, 生…

java实现连接linux(上传文件,执行shell命令等)

1 导入pom <dependency><groupId>com.jcraft</groupId><artifactId>jsch</artifactId><version>0.1.55</version></dependency> 2 编写配置类 package com.budwk.app.atest;import com.budwk.app.common.config.AppExceptio…