【经验分享】企业大型代码仓库管理实践

DevOps技术栈

共 1442字,需浏览 3分钟

 ·

2022-08-08 23:29

随着你的代码库不断膨胀,DevOps进程也变得越来越复杂。根据 Source graph 关于大型代码管理的调查,94% 的受访开发者,不论其组织规模或开发人员的具体数量,都会涉及大型代码相关问题。无论你身处小型项目还是在大型开发团队,在程序员的整个职业生涯中,处理或管理大型代码库的问题是绕不开的问题。

资料来源:Sourcegraph


关于大型代码库管理的关键问题探讨

(文末获取报名入口)


1、首要问题:扩展性

——————————

Google 资深软件工程师Titus 负责管理 大型C++ 代码库,大约十亿行代码中的四分之一他认为“一旦进入百万行代码领域,最重要的事情就是如何进行扩展。”


 Titus Winters/ Google 资深软件工程师


“很多构建系统、CI 系统、版本控制策略、版本控制系统的固有问题可能会出现。你亟需找到一个好用的构建系统,如果你的构建系统是以函数式编程语言模型为基础,而非命令式编程语言模型,这个系统就具有了一个强大的功能,我们可以自由地对这些构建进行缓存、分发,构建速度、可依赖性和复制性也得到提升。一旦具备了这些功能,你构建的CI 管道也是可靠的……”



2、困难重重的依赖关系处理

——————————

Marc  是Mathworks(Matlab的创建者)资深架构师,具有 25 年的代码工作经验熟悉数百万行代码项目,并擅长处理依赖项难题:



   Marc Ullman/ Mathworks 资深架构师

“随着代码量的不断增长,性能、分区、稳固性都是挑战不断。代码数量增多,使上层和底层操作系统都会变得紧张,同时很多工具也会不堪重负。这种负担会进一步影响 CPU,调试所需的 RAM 量。”


代码之间依赖度过高,那么编码任务就永无止境。你无法做到改变共享模块,同时不造成其他破坏。更可怕的是,你也不知道你破坏了什么。当然,这并不全是真实情况,你可能熟悉你正在处理的类,也了解其中的依赖关系。但是你如何在数百万行代码中进行追踪呢?编译器中的工具可能可以帮点小忙,但这远不够用…… ”


3、如何有效利用微服务

——————————

尽管微服务和大型代码很少放在一起讨论,但在过去十年中,微服务流行的部分原因,是其有效地管理了大型代码。但在大型代码库中使用微服务是否会付出代价是需要关注的问题。关于微服务不同经历的专家给出了不同的使用建议。


除此之外,如何保证设计文档实时更新、分支合并与代码重构、瀑布式开发 vs. 敏捷开发等话题都将被探讨。


  • 如何理解与处理依赖关系?

  • 如何正确灵活利用微服务?

  • 代码库内部更改——文档代码化实操方法。

  • 分支合并与代码重构关键技巧。

  • 搞定大型代码项目开发工具推荐

关于大型代码库管理的方方面面,参与8月9日 Incredibuild主办的线上圆桌论坛,获取答案。



报名活动,参与直播间抽奖!

Incredibuild 开发者定制T恤

 <developement_never_stops>


                           

 添加Penny微信,转发活动海报,
领取露营Cup1个!


  活动及礼物详情,请添加Penny微信咨询

浏览 24
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报