代码管理_代码管理:核心技术及实践,微服务架构下的代码管理

《代码管理:核心技术及实践》探讨了微服务架构下代码管理的三大挑战:跨团队协作、跨服务重构及多代码库版本策略。建议采用分支开发主干发布的模式,确保代码质量和团队协作效率。开发过程中强调使用分支、代码审查、自动化回滚等最佳实践。
摘要由CSDN通过智能技术生成

今天我们来读一读《代码管理:核心技术及实践》这本书。

9d6f2ca78a824843d066a1a10a6127de.png

微服务架构下代码管理需要考虑以下三方面的挑战

1、跨团队的代码协作和共享

如何建立有效的分布式代码管理过程从而保证多个团队在代码修改层面的协作和共识?

2、跨服务的代码重构及维护

跨服务的变更要求在多个代码库中同时进行操作,如果没有建立相应的自动化机制,那么这样的跨服务(代码库)的改变是不可能完成的。

3、多代码库的版本策略

微服务架构带来的一个显著优势就是每个服务可以持续快速地进行更新和发布,而服务之间不可避免地存在集成调用关系,理论上每个服务升级都不应该破坏之前已经存在的调用。但每个服务都有可能因为自身的升级出现不可预期的问题,这时需要有快速的自动化回滚能力,回滚的版本需要根据既定的代码版本策略来决定。

针对微服务体系下的代码管理,一般建议采用分支开发主干发布模式:

模式特点:所有的代码提交都在分支上操作,随着时间的演进,需要构建Release版本时,需要将代码提交到主干上面,平常开发都是在分支上进行,好处可保证主干代码始终可用。

操作权限:该种方式开发人员只具有开发分支权限,无master权限,代码的merge只能由项目经理或有权人完成;

适用场景:该种模式适用于多功能并行开发,按照业务特性或模块进行在分支进行开发,然后在进行合并后进行Release构建发布,业务场景较复杂,且人员素质层次不齐,需要代码review。

代码管理规范

原则上代码的开发提交,必须通过创建分支进行开发,特殊情况除外(bug),review同事有责任进行检查其他同事是否遵循分支规范;

代码提交前,必须先进行更新代码(gitpull),对于有冲突的文件,必须要进行对比,确认素有修改都是自己修改的,然后在进行提交,防止代码回溯(即别人的代码被覆盖);

review同事遇到代码删除情况,必须与开发确认,是否为开发同事自己删除,如果不是,很可能就是代码回溯;

在代码开发阶段,代码的提交尽量独立化,也就是功能模块尽量细分,每个开发负责一个模块,尽量不要修改其他成员模块代码;

多人协作时,需要创建一个远程分支,然后一起在远程分支里协作开发,防止代码回溯。禁止各自开发,然后线下发送文件合并;

代码提交前,必须进行git pull,且进行git diff进行比对代码,确保提交代码为自己修改内容,防止出现代码回溯;

代码出现冲突时,必须 要与冲突代码提交者进行确认冲突内容,双方确认无误方可处理;

主分支(master)为生产环境分支,除特殊情况(修复bug),禁止在master分支上进行开发;

代码提交时,必须描述清楚做了什么,提交动作有add、update、remove,提交格式为[动作]+[操作的模块信息,尽量详细到具体的类名方法名]+[操作描述信息],例如:git commit –m ‘update aa.java findByName 将精确查询修改为模糊查询’,每次提交尽量一个动作,多个动作请多次提交;

在git中,默认空目录不会提交,如果某个空目录想提交到版本库,需要在该目录下新建一个deleteme.txt的空白文件;

开发分支(developer)为开发分支,一般作为主要的代码提交分支;

修复分支为修复bug分支,命名格式为bugfix-{date},修复分支用于主要分支的bug修复工作;

功能分支为新增功能分支,命名格式为feature-{message},可合并到developer分支;

其他分支,为特殊情况建立的分支,命名应带有分支相关信息;

推荐阅读:

《代码审计企业级Web代码安全架构》,为什么需要代码审计?

《发布!软件的设计与部署》,如何保持系统稳定运行?

不尽读天下之书,不能相天下之士。

——汤显祖

后台开发:核心技术与应用实践 作者:徐晓鑫 著 出版日期:2016年08月06日 封面宣传语:腾讯云平台技术总监黄世飞、Facebook对外支付项目主程张子兴、微软软件工程师彭可竞、阿里巴巴资深算法工程师周乐、百度大数据高级测试工程师畅晋联袂推荐;围绕后台开发需要掌握的核心技术,从多个方面、多个角度进行了阐述,覆盖了该领域的几乎所有内容;充分抓住本质并结合实践,文字通俗易懂,可操作性强 出版书名:后台开发:核心技术与应用实践 作者:徐晓鑫 著 封底文字 专家评价 后台开发是一个“历史悠久”的领域,同时也是一个沉淀深厚,高技术价值的领域。本书清晰、严谨、务实的风格显示出晓鑫对该领域知识的深刻理解。 ——张子兴 Facebook对外支付项目主程,美国加州MenloPark 每一位从事后台开发的专业人士都需要一本后台开发指南。对每一位想要认真从事该领域工作的人来说,本书是一本绝对必读的书籍。 ——彭可竞 微软软件工程师,美国华盛顿州Redmond 本书是作者多年后台开发、架构和研究的精华。书中用通俗的文字、详尽的示例代码,结合实际工作中的案例,讲述了后台开发方方面面的知识,内容丰富。对于从事后台开发的人员,这是一本很好的由浅入深的学习书籍。 ——周乐 阿里巴巴资深算法工程师,北京望京 使用C++语言进行后台开发有一定的门槛,本书可以很好地帮助你跨过这个“门槛”。 ——畅晋 百度大数据高级测试工程师,北京上地 前勒口 互联网网民日益剧增,各种应用层出不穷,各项技术更新不断。单是游戏行业,近几年就经历了从端游、页游到手游的巨大变迁,客户端更新迭代之快,始料未及。而后台开发中使用到的技术,却变化不是很大。让服务性能更高、处理能力更强、安全性更好,是后台开发工程师永恒的主题。 后台开发中用到的技术,深而广,需要读的“大部头”很多,光是Richard Stevens的APUE,UNP,TCP/IP详解就够读个半年以上。读者通过阅读本书,可以从实践出发,快速由浅入深地进入后台开发领域。在读完本书,有了实践的经验之后,再去阅读大师们的著作,会更有体会,更懂得如何欣赏。 读书的最高境界莫过于“把书读薄,把书读厚”。本书文字通俗易懂,让你更快地“读薄”,同时又涉及较多的核心知识点,顺着这些知识点,读着读着也发觉“读厚”了。 后勒口 徐晓鑫,腾讯资深软件研发工程师,先后在腾讯游戏之洛克王国、QQ会员、QQ秀等项目工作,精通后台开发各种技术,实战经验丰富。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值