Augment Code is awesome for large codebases (try it out for free): https://www.augmentcode.com/?utm_source=forrestknight&utm_medium=youtube&utm_campaign=influencer I often have to learn new codebases, so I figured I'd share how I actually do it after years of chaos. And now that I have a bit of a method to my madness, hopping into an existing 100k+ line codebase is more so organized chaos. 0:00 overview 0:58 read the docs 3:42 poke around the codebase 4:12 make docs with augment code 5:26 use the software 6:02 quick recap 6:15 what code does a specific thing (a user interaction) 7:29 ask augment code to explain 8:55 mental model 9:08 official augment code integration 10:24 have teammates assign you tasks 11:05 if no teammates, have augment code make a task for you 12:28 write tests for the codebase 12:43 recap 12:58 pair programming 14:16 take notes 14:41 don’t only casually learn the codebase 15:26 rinse and repeat 16:26 contribute to docs 16:48 understand the domain 17:30 understand why we’re building something and completing a specific task 17:51 teach it If you're a developer, sign up to my free newsletter Dev Notes 👉 https://www.devnotesdaily.com/ If you're a student, checkout my Notion template Studious: https://notionstudent.com Don't know why you'd want to follow me on other socials. I don't even post. But here you go. 🐱🚀 GitHub: https://github.com/forrestknight 🐦 Twitter: https://www.twitter.com/forrestpknight 💼 LinkedIn: https://www.linkedin.com/in/forrestpknight 📸 Instagram: https://www.instagram.com/forrestpknight
ADVERTISEMENT
To get a high level diagrammatic overview of the codebase and get some idea quickly, you can simply ask copilot to generate a mermaid chart of the codebase and how each layer is interconnected, copy the generated chart syntax to mermaid chart builder UI, and voila, you have a flow chart of high level overview of codebase(works with intermediate complex projects in my case).
I just watched 18min fckn 3th party software add
man this guy can yap. . . . . anyway, here are some open source repos i like that maybe you'll want to learn and contribute to: /Mail-0/Zero /analogdotnow/Analog /AmanVarshney01/create-better-t-stack /augmentcode/augment-swebench-agent also i just learned augment code is free for open source contributors?? /opensource/?utm_source=forrestknight&utm_medium=youtube&utm_campaign=influencer
I had a new teammate and when he admitted when he didn’t know something well, I actually respected him more, since many people are scared to look dumb
I get a new job and I start next Monday, thanks for the video
Good advice. I've had a lot of practice doing contract work on existing code bases. A pet peeve of mine is programmers who make changes without understanding how the code they are changing may affect dependent code, either directly or indirectly. Your comment about teaching is something I've said for years. If you can explain it in simple terms, then you understand it. If you can't explain it in simple terms, then you don't understand it well enough to teach it. I've gained valuable insight by explaining a concept, at a high level, to someone who has no experience in what I do. They'll say something like, I understand, why don't you try this. At which point I say something like, you're right, why didn't I think of that. It's like not seeing the forest for the trees issue.
NixOS + neovim update when? ;)
I love how this starts out because I agree I prefer to read documentation first.... but I keep getting unlucky where the codebase I have to learn has either no documentation or might as well not have any so I have to learn it the hard way anyways.
man why did you cut your hair your were looking pretty cool in that hair style 🥲
That is the first time I ever seen a class of 7000 lines
Struggling to be a developer and I think this idea is fire already, watching right now
What do you mean unfortunately 😅, yarn is dope
what is your vs code theme?
Big, new codebases let's goooo! Thanks for the vid, Forrest 💜🤖💜
Most important video for a developer
What theme and all do you use for VSCode?
Any idea on Codebases like C++??? Especially large codebases like GCC or something like Blender .?
🔥🔥❤🔥
Its way better than copilot?
I have been looking for this for a long time, thank you indeed ❤❤❤