As your programming career takes off, you’ll likely (well, definitely) run into some new, exciting (albeit daunting) industry lingo. One of the most common phrases you’ll encounter, regardless of your chosen specialty, is a concept known as code review. But what exactly is it?
In this article, we’ll break down this common programming task so you know what to expect when you take a Practicum course or start your first job.
We’ll explain what code review is, why it matters, who does it, and how you can use it to become a better developer.
What is code review?
Code review is the process where one developer checks the code of another developer and offers suggestions. Typically, a senior developer reviews a junior developer’s code. In addition to checking that code works and is well-written, code review reflects your collaboration skills and ability to take feedback.
On the job, the code review process is somewhat like editing, where one person offers suggestions and feedback.
In a Practicum course, you’ll have an in-depth code review for your work on each of the rigorous milestone projects.
At Practicum, code review is where hard skills and soft skills meet. Getting plenty of experience with genuine code reviews is a great way to prepare you not just for the programming know-how you’ll need for a new programming career but also for experience receiving feedback and working with colleagues.
To better understand what the code review process looks like at Practicum, we talked with Lera Shelegina, the Guidance Team Lead at the Practicum Data Department.
Why code review matters
You might be wondering, “If I’ve already tested my code and know it runs fine, what difference will the code review process make?”
“Running code means almost nothing,” says Shelegina, “It doesn’t prove the code solves the question.”
At Practicum, code reviews are about code quality and the development process. “Even excellent code might not be as efficient or advanced as it could be.” Shelegina says.
And code is meant to be shared, which means the way you write it matters a lot on the job and training.
“It should be readable and written in a form that can be used in your job,” says Shelegina, noting that with good code, your peers “can use it and pass it to other colleagues.”
Who will review your code?
There are a few different types of code reviews, but not all are equally effective.
For example, an automated code review will run a set of automated tests to check whether what you’ve written performs well. Automation is helpful— especially for catching minor errors humans might overlook — but it can miss the bigger picture. Humans should be a part of any good code review.
Another option is peer code review, where a colleague with a similar level of experience looks over your code. Like pair programming, where two programmers work on a project together, you benefit from having two sets of eyes on your code.
But the most common and valuable type of manual review is where a senior developer looks over your work.
“At a job, code reviewers are going to be your colleagues — probably your senior colleagues,” Shelegina explains. This is the type of code review process Practicum offers at the end of each module.
Practicum code reviewers are experts in their professions. “We hire current data scientists, data analysts and software engineers who’ve been working in the field for a while,” explains Shelegina. “They know the standards.”
What kinds of comments to expect
If you’re new to code reviews, you’re probably wondering what to expect. You’re just a beginner — are senior developers going to rip your code to shreds?
There's no need to worry. We can’t speak for every code reviewer out there, but most want to help you become a better programmer.
Here at Practicum, our code reviewers act as coaches to help guide you toward better solutions and skills. Most of the comments you’ll see fall into one of three categories.
Bug fixes are mandatory repairs to your existing code. Essentially, you’ll need to make a code change for your program to work correctly and fulfill the project requirements.
Many beginners think this is the only kind of important comment in a code review — sort of a pass-or-fail grade. But there’s a lot more than just bug fixes!
“Even if you write perfect code on your first try, you can still learn tips and tricks that might make it even more efficient and advanced,” says Shelegina.
That’s where recommendations come into play. Each proposed change is an opportunity to develop your skills and create an even more impressive project that’ll improve your portfolio.
Your code reviewer will offer suggestions on following coding standards, writing clean code, improving your readability or documentation, and more.
Code review isn’t all negative! As part of the process, a Practicum developer will always point out where you excel.
Positive feedback isn’t just for a nice confidence boost — though, of course, that’s always welcome! It’s also to help you see where your strengths lie, understand what types of thinking to apply to the next project, and get immediate feedback on your creative ideas.
How to handle your code review well
It’s easy to think that all you need for a great development career is solid coding skills, but nothing could be further from the truth. Working well with colleagues and team leads is just as essential to be a successful coder.
That’s why code reviews are so critical in training, since you’ll get experience with the elements that make up a real-world coding job.
“Sending your work off can be a nerve-wracking process,” says Shelegina. “You do this huge paper, send it, and wait for the feedback,” she explains. But you don’t need to worry. Code reviewers are friendly and personable.
The best advice for how to take feedback from the code review is to separate yourself from what you’ve written. Seeing code objectively is challenging as the code author, but remember that critiques relate to a project and not your skills or potential. On the contrary, comments are to help you improve!
What are the most common problems?
To wrap up, let’s cover some of the most common problems that surface during a code review, so you can keep an eye out for what to avoid.
Of course, the biggest category of corrections will stem from challenges you faced with the learning material itself. Practicum’s course is designed to give you the skills you need for a junior-level position in just ten months — so every project will expand your skills.
But beyond that, the presentation of the code itself can be tricky for students to grasp. “An effective code review isn’t just about the technical details,” says Shelegina, “It’s also how you present your code. It’s a whole other skill.”
But remember — code review is there to help you learn. The more you learn from the feedback your reviewers give, the fewer mistakes you’ll make in the future!
A code review is an essential experience for any new programmer, and getting used to receiving and implementing feedback is valuable for anyone.
That’s why Practicum’s courses include a code review after each of their in-depth modules. You need to be prepared for a real-world career in development, and there’s no better way than to work with exercises modeled after what you’ll do on the job.
“In the work environment, you’re probably going to have code reviewers,” Shelegina says. And with Practicum’s courses, you get training in these soft skills that other programs often don’t teach.
Moreover, it's often these overlooked skills that will determine the success of your career. “Code reviews are essential,” ends Shelegina, “It’s a whole other part of this job.”