Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >处理桌面产品和云产品之间的版本控制的最佳方法,而其中一个依赖于另一个

处理桌面产品和云产品之间的版本控制的最佳方法,而其中一个依赖于另一个
EN

Software Engineering用户
提问于 2023-01-19 07:43:28
回答 1查看 113关注 0票数 2

假设有两个产品,产品A和产品B。

  • 产品A是一种桌面产品,客户可以在他们的机器上下载并在本地安装。该产品遵循一个典型的版本控制过程,季度发布将发送给客户,由他们自行决定安装。例如,2023.05将是2023年5月发给客户的版本。客户可以选择下载并安装此新版本,也可以保留当前版本。
  • 产品B是作为一个简单的云API完成的云产品。该产品的版本控制生活在两个环境中:开发和生产。如果开发人员需要添加功能,他们将在其机器上进行本地更改,并向表示开发环境的git分支发出拉请求。在测试完成了开发环境的更改之后,就会向代表生产环境的主分支发出拉请求。

现在是扳手。产品A取决于产品B。当内部测试人员正在测试产品A的开发版本时,产品A将检查产品B的开发版本。

我的问题是:这是产品B中版本控制的最佳方法吗?这方面的行业标准是什么?如何才能改善这种情况?

对于我们来说,产品B的版本控制在很大程度上是可以的。我们只需要确保在对产品B进行更新时,我们不会对它做任何破坏性的更改。至于更好的版本控制系统,我有一些想法。

  • 在产品B中实现与产品A相同的版本控制系统。每个季度发布的产品A将使用与产品B的相同季度发布对应的URL。我认为这种方法的唯一问题是,每个季度发布的产品B都需要一组新的云资源来托管所述发布。本质上,我们会膨胀我们的云资源。请记住,根据我们的客户是否使用某一版本的产品A来执行云资源的例行清理是微不足道的。
  • 使用上面提到的相同版本,但不是为每个季度发行版创建新的云资源,而是要求产品A将自己的版本发送给产品B。然后,产品B将根据它收到的该版本更改其行为。这种方法避免了云资源的膨胀。相反,它会使代码膨胀,因为对产品B所做的每一项更改都需要在代码中显示为新的文件/函数,以避免更改产品A的以前版本已经使用的任何代码。
  • 迫使我们的客户升级他们的产品A版本,一旦一个新的版本是可用的。

你们都怎么想?

EN

回答 1

Software Engineering用户

回答已采纳

发布于 2023-01-19 08:14:23

最“用户友好”的解决方案是在A和B之间建立一个最稳定的接口,并在较长的时间内保持B与部署到web的任何新版本尽可能向后兼容。

这通常不会妨碍您在B中实现新特性,即使只有较新版本的A可以使用它们。您可以实现一个机制,其中A可以询问B是否有某个特性可用,并且只在这种情况下在A的UI中提供相关功能。

向后兼容性使A的用户有机会尽可能地使用他们满意的版本。它还让他们有机会切换回一个旧版本的A,当它的新版本有一些恼人的错误,你的团队将只修复下一个版本,将于下个季度发布。

当然,这是有缺点的。随着时间的推移,您将在B中生成一些遗留代码,您希望早晚摆脱这些遗留代码,但您必须牺牲向后兼容性。当然,当只有5%的用户仍然使用旧版本时,您可能倾向于不支持A和B的五年前版本。因此,您应该跟踪A的哪个版本确实在使用,是的,A应该始终将其版本号发送到B。这使您有机会检查是否真的需要支持B中的不推荐功能,以及有多少用户可能因为强迫他们升级而受到干扰。

它还将使您有机会实现到更新版本的平稳过渡过程。例如,当A将其版本号发送给B时,B可能会发送一条答复消息,例如:“您仍在使用1.0版本,服务B下个季度将不再支持该版本。请要求管理员安装5.0或更高版本。”--这样A就可以向用户显示此消息。

然而,我只会强迫用户升级到一个更新的版本,当他们真的必须,你肯定负担不起保持向后兼容了。我不能告诉您这种强制升级的合理时间间隔在您的情况下,但是当安装升级涉及用户公司外部IT部门的一些手工工作时,更好地计划几年,而不是季度。

票数 4
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/443479

复制
相关文章
IoT产品的10个最佳实践
制造业花了数年甚至数十年时间来磨练他们的产品,但是,在思考为产品构建物联网(IoT)可能带来的好处时,需要问自己的一个重要问题是:
半吊子全栈工匠
2020/10/30
1.3K0
IoT产品的10个最佳实践
构建SaaS产品的最佳方法是MVP
来源|作者:李宽wideplum  ---- 初创公司和大型IT公司越来越多地使用MVP作为创建成功软件产品的起点。专注于核心功能的最小集合,公司开发一个产品框架,如果成功地验证了需求、效率和市场可行性,就可以使用该框架来扩大供应,并建立一个成熟的业务。 然而,在定义MVP的组成部分时,初创企业所遵循的许多概念都是不正确的。例如,有一种常见的误解,认为产品的早期版本是为了快速进入市场而设计的。事实上,正如前面提到的,最小可行的解决方案旨在验证经济可行性,所以只有在MVP分析和测试目标快速实现的
腾讯SaaS加速器
2021/03/08
8160
18个最佳的产品页面设计(上)
引言:本文展示了如何让页面变得有趣个性化,展现更多细节和与众不同,让访问者轻松获得想要的信息,下面的18个产品页面设计的最佳案例不容错过。
iCDO互联网数据官
2018/12/26
2.7K0
18个最佳的产品页面设计(下)
引言:本文展示了如何让页面变得有趣个性化,展现更多细节和与众不同,让访问者轻松获得想要的信息,下面的18个产品页面设计的最佳案例不容错过。
iCDO互联网数据官
2018/12/26
1.1K0
【漫画】开发和产品之间的恩怨从何来?
一直以来产品和开发都是死对头.在没多久前中国平安一个程序员和产品经理打了起来,原因是产品经理要求程序员根据手机主题根据手机壳颜色进行调整.程序员想,你这是玩我么.于是两人打的不可开交,最后被双双开除.这件事在我们行业可谓是家喻户晓了.以下这篇文章是位漂亮有趣的小姐姐用画图+漂亮的文笔写的,关于开发和产品之间的恩怨,希望各位会喜欢。
编程软文
2018/11/07
1.4K0
内容运营连接用户和产品之间的纽带!
内容运营连接用户和产品之间的一种主要表现方式,是整个运营中非常重要的一部分。这几年互联网里面也开始推崇一种“内容为王”的说法。如何理清内容运营里面的各种关系,是产品面向用户的核心竞争力,也是运营的关键点所在。
大葡萄
2019/03/15
1.7K0
SAP中关于联产品和副产品的处理
联产品是指用同一种原料,经过同一个生产过程,生产出两种或两种以上的不同性质和用途的产品;
用户5495712
2020/07/14
3K0
MODIS数据产品预处理方法
第一步:安装ENVI的MCTK扩展工具 解压压缩包,将其中的mctk.sav与modis_products.scsv文件复制到如图所示,相应的ENVI安装路径中去。
Twcat_tree
2023/10/25
5370
MODIS数据产品预处理方法
腾讯云自然语言处理 NLP:产品介绍 & 产品功能
自然语言处理(Natural Language Process,简称NLP),是一款基于人工智能技术,为各行各业的企业和开发者提供的针对文本智能化分析及处理的云服务,意在帮助用户高效处理文本数据,实现数字化和智能化转型。
庞九公子
2019/10/10
3.3K0
腾讯云自然语言处理 NLP:产品介绍 & 产品功能
程序员和产品经理之间的恩怨情仇
一个年轻的程序员和一个产品经理登上了一列在山里行驶的火车,他们发现列车上几乎都坐满了,只有两个在一起的空位,这个空位的对面是一个老奶奶和一个年轻漂亮的姑娘,两人上前坐了下来。
良月柒
2019/04/17
5510
程序员和产品经理之间的恩怨情仇
『云产品最佳实践』域名选购操作指南
在互联网时代,域名是网站的重要标识,不仅能为用户提供便捷访问,还能提升品牌的专业形象。通过腾讯云的双十一活动,我购买了轻量应用服务器,并为其注册了一个专属域名,打造了完整的网络访问门户。
程序员 NEO
2024/11/16
1400
『云产品最佳实践』域名选购操作指南
『云产品最佳实践』Redis 搭建操作指南
在现代互联网架构中,Redis 是一款高性能的分布式缓存与存储系统。它能够显著提升系统性能,无论是用于缓存热点数据、分布式锁,还是支持复杂的排行榜逻辑等业务,Redis 都展现出其强大的灵活性和高效性。
程序员 NEO
2024/11/18
1010
『云产品最佳实践』Redis 搭建操作指南
『云产品最佳实践』Nginx 搭建操作指南
在当今互联网快速发展的时代,Nginx 作为一款高性能的开源 Web 服务器,因其轻量、快速、稳定的特性,被广泛应用于网站反向代理、负载均衡和静态资源服务等场景。
程序员 NEO
2024/11/17
1100
『云产品最佳实践』Nginx 搭建操作指南
【有奖】腾讯云产品最佳实践需求征集
尊敬的腾讯云用户,如果您发现当前官网文档中心承载的最佳实践,没有覆盖到您所需的场景,或没有满足您的使用需要,请您花1分钟时间填写问卷告诉我们。我们将收集广大用户呼声最高、最急需的缺失场景,优先进行补充和完善。
腾讯云文档
2022/11/16
7410
【有奖】腾讯云产品最佳实践需求征集
『云产品最佳实践』MySQL 搭建操作指南
在现代互联网架构中,MySQL 凭借其成熟稳定和高效性能,成为开发者构建数据存储与管理解决方案的首选。不论是小型项目的基础存储,还是复杂业务系统的核心支持,MySQL 以其 高稳定性 和 强大功能,为开发者在优化系统性能与提升业务效率方面提供了有力支持。
程序员 NEO
2024/11/18
1540
『云产品最佳实践』MySQL 搭建操作指南
如何化解产品和技术部门之间的矛盾
说成矛盾,一则感觉尖锐了些,其次我来谈这个问题,有点行外人看行内人的感觉。但是运维部门和业务部门之间也同样存在在结果期望上的矛盾,毕竟"多快好省"的服务都是大家需要,但往往现实制约了无法提供“多快好省”服务,于是便有了以下的头脑发散。
用户1593318
2019/11/18
1.3K0
【干货】如何建立支持和产品之间的密切关系?
您应该构建的第一个支持工具之一是完整的知识库。您花在创建文档上的任何时间都将在以后获得十倍的回报。
用户9912463
2022/07/28
3810
内部产品和SaaS产品的区别是?
来源:ToB老人家|作者:王戴明 ---- 本文将重点讨论以下几个问题: 1、内部产品与SaaS产品的差异 2、内部产品经理与SaaS产品经理的差异 3、内部产品转SaaS产品的关键点 4、内部产品经理转型SaaS产品经理的关键点 中国B端产品的历史 中国B端产品的历史可以追溯到20世纪80年代。1981年,沈阳第一机床厂引进了中国第一套企业应用MRP软件,这是中国最早使用大型B端软件的案例之一。1995年,SAP中国分公司成立,并在1998年成功签下联想集团的ERP合同。而另一巨头Oracl
腾讯SaaS加速器
2021/06/17
1.2K0
🚀云开发的力量:腾讯云产品在业务项目中的最佳实践分享
在当今这个高速发展的数字化时代,企业和开发团队面临的最大挑战之一是如何快速、高效地应对市场变化。开发流程的繁琐、数据处理的复杂以及业务需求的不断变化,常常让企业陷入“开发瓶颈”。尤其是中小企业,既缺乏大型团队,又需要兼顾时间成本和资金投入。
bug菌
2024/10/21
1890
🚀云开发的力量:腾讯云产品在业务项目中的最佳实践分享
产品常用的策略方法
‍ ‍本文作者:youngyue,腾讯IEG高级产品运营 引言 最近工作的重心都在跟数据打交道,各种各样的数据呈现及内在挖掘都要定策略,加上之前在产品策略方面的经验,因此对常用的一些策略方法做一个总结梳理,算是抛砖引玉吧。 概述 结合实际的工作场景和经验,会从以下几个层面分别进行展开: 1、定量分析:如何将定性、不确定的场景/因素进行量化的数据表达; 2、迭代思想:数据持续变化,如何利用数据构建可靠的模型,进行深度挖掘? 3、概统知识:基础的概率统计学知识在数据分析中那是必不可少的 4、关联分析:数
腾讯大讲堂
2021/12/08
5610

相似问题

处理长期项目的产品版本控制和分支的最佳方法是什么?

30

产品版本控制与语义版本控制

10

计划项目和计划产品之间的区别

50

一个小团队的产品开发和维护的最佳过程?

10

什么是处理编辑产品图像的好方法?

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文