Code Review Tips (How I Review Code as a Staff Software Engineer)
Вставка
- Опубліковано 31 тра 2024
- As a staff software engineer that has been in the industry for a while, I've done my fair share of code reviews (probably thousands of reviews at this point). In this video I talk about my own code review process so that you can learn from my mistakes and become a better code reviewer. By the end of the video you'll understand my own code review best practices, so with that out of the way, let's get into the video ☺️
As with every single video I do about software engineering, if you have any questions or comments please let me know below 😊
🚶♂️ FOLLOW ME 🚶♂️
Discord - / discord
Twitter - / codyengeltweets
Medium - / codyengel
⏰ TIMESTAMPS ⏰
0:00 - Intro To Code Reviews
1:05 - Have An Open Mind
2:28 - Read The Description
3:04 - Skim Through The Code Changes
4:15 - Straight Forward Code Reviews
7:32 - More Difficult Code Reviews
9:26 - Determine Code Review Outcome
📚 RESOURCES 📚
None 😅
🎥 CAMERA GEAR 🎥
Camera - amzn.to/2LM9Zt3
Microphone - amzn.to/2LLv0Eb
Lens - amzn.to/317tGPT
Main Lights - amzn.to/2K2yHDH
Back Lights - amzn.to/2Yw4HUI
External Monitor - amzn.to/2YoM2Kl
* Note: the above links are affiliate links.
🖥 DESK GEAR 🖥
Monitor - amzn.to/2yjZPqR
Headphones - amzn.to/2YBuo68
Google Nest Hub - amzn.to/30Zuki7
MacBook Pro 2019 - amzn.to/30YyuXy
* Note: the above links are affiliate links.
Try Epidemic Sound: www.epidemicsound.com/referra...
#codereview #softwareengineer #softwaredeveloper
So after making this video it got me thinking... What are the best qualities in a code reviewer? Let me know in the comments, would be interested to see your thoughts 😊
No one gives a damn.
@@CodyEngelCodes those hacker comments should be deleted
The best quality of a review - Ask for Better Code, Not Best.
Love the tips, I feel 100% relatable due to I have done some of the things you said, but I learn somethings as well, the difference I see is that you have already like a framework in your head, maybe because of your vast experience which is something really good. 👍
You gained a new subscriber.
I'd be straight to be point with things I dislike, and have an open mind. I'd ask questions when I wouldn't understand the intended output for project N, but not to say that I found something wrong with the code.
Had a co-worker leaving such remarks: "Don't you think this would've been better?", "Why did you do it this way instead if using our in built code?"
That's a bad approach. I rather guide the developer and explain within reason why something might be out of bounds and provide examples.
Thanks for valuable stuff
Amazing video. You just gained another subscriber.
Great job 👍
Really helpful 🙂
Glad it was helpful!
Greetings! I'm also a software engineer here in Chicago! Love you videos!
Thanks Robert! Really appreciate the kind feedback ☺️
Going to rewatch this
Would love a video on unit tests!
I'll add it to the list! ☺️
This was super helpful as a junior software engineer who hasn't delivered a proper code review before, I especially like that you also take the time to compliment when you see a good piece of code. Do you have any recommendations for code review interviews? I've applied to a job and passed the live coding session and next is to do a code review interview which I haven't done before for any of my previous job applications. Would be super helpful to get your insights :)
Great synopsis
Thanks 😊
Quality content!
Quality comment! Thank you 😎
Great video.
Glad you enjoyed it!
being Senior engineer ,how do we manage our own work along with the PR review , which is quite challenging , which leads to poor code quality.
Impressive
When you say business requirements what do you mean by that? I am curious also great video I am an Android engineer with about 2 years of experience and I have not really had anyone explicitly give me business requirements I feel like maybe I am slipping. Is it something I should be searching out or something that I should just be getting from my manager and lead and stuff?
Business requirements are just the requirements of the application. If you have an application that loads pictures, loading pictures in a list is a requirement of the business. It's basically just an overloaded term that could be replaced with "how the application functions or behaves".
What do you typically do if there are no unit tests in a pull request?
Providing it can be unit tested I ask for unit tests to be written and block the PR from merging.
That’s an easy one. The real question is, what do you do when someone just writes bad tests, e.g. tests that are so small they usually boil down to „the code that I wrote is the code that I wrote“ (code implementation duplication in small unit tests), not as easy of a discussion with some people to block their PR.
Please do some good video on writing unit test with more details
Have you already watched this video? Can you let me know what else you'd like to see covered? ua-cam.com/video/aId-WLZnvkw/v-deo.html
Cody, how do you approach code reviews
-for juniors/new grads who’ve just joined and are generally confident but their code has room to improve
-for juniors/new grads who’ve just joined who are less confident and their code has room to improve
-if you are a senior engineer but new to the code base and/or tech stack and the team expects you to participate heavily
Truthfully it's the same for everyone except for folks that are newer to the codebase or programming I expect that I'll need to offer more assistance with resolving my comments. For senior engineers I expect that most comments will either be straight forward to resolve or they'll have a reason to not address the feedback.
Successfully accomplished destruction of the like button. 👍💥
are you using Mockito or MockK?
MockK all the way.
I love reviewing other people's code
My TL
35% of comments
65% of changes requested
xD
This ratio depends on your colleagues and what work you do. I'd say that my ratio is about the same.
Heh heh... Cody... codes
🥳
You can't start with saying you reviewed 1000 PRs as a staff, which is far from impressive, and then immediately make a cringey joke about liking the video. Wait for people to see the actual video, mate.
The content is top notch though.
Happy to hear you enjoyed the video 😊
Don't talk to developer and put your mind out. Developer might come to you and then you negotiate.
Naming is utterly useless! A developer that relies on names to understand the code doesn’t crash the code! The fact that us old folks had to track registers and memory addresses should say enough that names are overrated. Especially long ones, ugghh hate those! I’m fine with dealing with p for a person object instance for example. And in maths and physics all formulas also use one or 2 letters and your also not lost.
I just name everything bob.