Finding errors in your code can be like playing a mind-boggling game of I Spy, only with more consequences. Even the best developer will have a blip here and there, and it’s important that those blips don’t affect your company’s security or code’s integrity.
Brad Angelcyk, one of We Write Code’s Software and DevOps Engineers, has worked his way through more than a few code reviews. With nineteen years of technical experience, Brad had difficulty pinpointing how many code reviews he’s participated in, jokingly pointing out that proves the value of the process.
“A code review is valuable for anyone who writes code,” Brad explains. “There are formal code reviews—audits to ensure things are being done correctly and securely—but you don’t need or want to wait for formal reviews to make your code more efficient and secure.” He encourages developers, especially who are fortunate enough to work in a team environment, to practice in peer code reviews regularly. “You can always find issues your eyes missed the first time around.”
That’s where We Write Code comes in.
“Having a team like We Write Code work with you is like handing an essay over to an editor. You’ve done the work, and it’s good work—they just refine it and make it that much better.”
The We Write Code team utilizes reliable and well respected tools within the tech industry to pinpoint issues, big or small. The first task? Identifying what tools he would use.
“Crucible is a code review tool that’s incredibly popular, and for good reason, since it works really well. You can connect to a source code repository and kickoff a code review for every code base. It’s sister product, FishEye, doesn’t do much on its own. But when paired with Crucible, it works as a large search platform that indexes your code and makes it more searchable.” This is especially useful when it comes to repeating mistakes, Brad says. “For example, let’s say I find something using FishEye a developer has done “right”, but isn’t necessarily the best practice. Crucible will allow you to make a note on it, and if it’s repeated in the code, acknowledges that note for each repetition.”
One way to identify best practices is utilizing linters such as ESLint and OCLint. Linters will go through style guides to make sure you’re using the language correctly and consistently when turning through code bit by bit, determining the best way to do things. There are different kinds of linters for different circumstances, so it’s important to know what you’re working with and looking for.
However, tools are only part of the equation—those tools won’t necessarily mean much in the hands of someone without the experience to use them.
“While I was technically working on this project alone, I was constantly bouncing things off of other team members. Asking things like, “Is this normal? Have you seen this pattern before?”, combing through the work I had already looked over. I have twenty years of professional development experience, so I have faith I can catch a lot.” Brad notes that being able to acknowledge you can’t know everything and being humble enough to rely on your team is what makes a technical review successful. “If Levi lends me his twenty years, and Conner adds another five years, we’re doing detailed work that no one person can do with all the experience in the world.”
After each line of code has been nitpicked by several experienced developers, there’s still a bit of work to be done.
“Everyone deserves to know what was changed and why,” Brad stresses. Typically, a team will make changes and hand you back a shinier version of your code. Though that’s what you’ve signed up for, there’s a way to go above and beyond with your review. “We like to give a presentation of all of the changes we made and why. It’s usually a 40+ page pdf document, but it shows the immense value of the process, and can give some insight to developers for future projects.”
Between industry-trusted tools and several sets of expert eyes, you’re guaranteed to get back a polished set of code. With less fear of security breaches, improved performance, and opportunity for growth with more consistent code, there’s no reason not to take advantage of a professional code review.
Looking to improve the quality and integrity of your code? Let the We Write Code team do our thing.