Skip to content
0:00 / 0:00

#large-scalerefactoring#monorepo#google

CppCon 2018:H. Wright “Large-Scale Changes at Google: Lessons Learned From 5 Yrs of Mass Migrations”

CppCon

189K subscribers • 101 videos on Hallway • Conference channel

YouTube
  • Recommended by 2 people: 2 on Hacker News.
  • A classic. People kept recommending it from 2019 to 2024.
  • Presented by Hyrum Wright, Software Engineer at Google
  • Linked in the descriptionCppCon/CppCon2018

Advanced. Deep dive for people who know the field.

15K views7 years ago2 recommendations

Tools and practiceSoftware designRefactoring and legacy codeC++Code review and teamwork

Hyrum Wright shares lessons learned from managing large-scale, automated code migrations across Google's massive C++ monorepo.

CppCon.org Hyrum Wright “Large-Scale Changes at Google: Lessons Learned From Five Years of Mass Migrations” — Presentation Slides, PDFs, Source Code and other presenter materials are available at: github.com/CppCon/CppCon2018 — Google has one of the largest single C++ codebases on the planet, yet is able to continually update both core libraries and the code which uses them. In this talk, I'll share many of the lessons we've learned across more than five years of doing these kinds of migrations, including: * Why should you migrate in the first place? * How hard can it really be? * What happens when a change can't be done atomically? I'll also talk about the myriad ways that such a process can go wrong, using various migrations we've done internal to Google to illustrate. In doing so, I'll also point out how you can structure your infrastructure and tooling to enable a successful large-scale change process within your organization. — Hyrum Wright, Google Software Engineer Hyrum Wright hates C++ less than the rest of the programming languages he's worked with, and works on large-scale change infrastructure at Google. He writes programs to rewrite other programs, and will eventually put himself out of a job. In a former life, he was an author of Apache Subversion, and still retains membership in the Apache Software Foundation. Hyrum enjoys cycling, but didn't bring a bike to Seattle. — Videos Filmed & Edited by Bash Films: BashFilms.com Work at Hudson River Trading (HRT): tinyurl.com/safxfctf --- Videos Filmed & Edited by Bash Films: BashFilms.com

Why it's here

2 people recommend this

What people say. Highly recommended for insights into managing massive codebases, monorepos, and executing large-scale automated refactoring.

svaton Hacker News • Recommends

On “Monorepos: Please don’t”

See Hyrum Wright's talks on Large-Scale Changes at Google: link (CppCon2014), link to this video (CppCon 2018), and paper by Googlers on ClangMR ( link ). It's great! And if you'd like to learn more about how monorepos work in practice there's a couple of papers: link and link (Also worth reading: link )

ted_dunningon Hacker News • Recommends

On “Monorepo – Our Experience”

Coupling happens due to other reasons than poor contracts. The discussions from Hyrum Wright from Google about large-scale refactoring are great in this respect. link to this video

joshuamortonon Hacker News • Mentions

On “Rf: an experimental refactoring tool for Go”

…the majority of the effort with such a migration will be like...doing all the data stuff and traffic stuff. Changing the code is a minimal part. A refactor is often not a thing that even registers at a smaller company, because its on the scale of a few files. But "Large Scale Changes" are a thing when you end up having millions of lines of code ( link to this video ), and tools like this one are useful for those kinds of changes. But a single LSC won't get you promoted. And rf is neat, but in a very go way, it's not particularly exciting if you're familiar with link or link or clangmr or link , or outside of google Semgrep and Bowler and others, since its essentially the same, but built in go fo…