目录
一、结论
不是在设置相同条件下进行对比。
而是在同一个场景下,对比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、我作为后端说一句
要用用户思维来分析方案。
因为前端在写页面,更懂用户。
所以,我觉得按前端的分析更合理。
再则,方案是解决问题,而不是设定相同条件看结果。
问题,可以有多种方案,其中的条件不一定完全相同。
所以,根据问题应用方案,然后从最终得到的结果来分析,更靠谱。
我是程序员娟娟,
致力将工作中遇到的问题和解决方案记录下来,
分享给更多需要的同行。
如果对你有帮助,不妨点个关注吧!