Code review

Code review is a software development practice that pre-dates the GitHub era of collaboration (after 2008) when Bugzilla was king and review was a sequence of plain text messages between developers instead of the discussion threads anchored in lines of the diff that GitHub and GitLab provide today. Code review contributes to improving the robustness of the application and is an opportunity to teach collaborators how to improve the quality of source code.
Code review is known to be an effective way to improve software quality, foster peer learning and develop common ownership of a research software project. In practice, a code review is nothing else than a conversation between the author of the code and somebody else providing feedback on coding practices, readability or other aspects of code quality. If this sounds straightforward, an effective code review routine can be tricky to establish. Here are five tips for you to get started with code reviews, or get more of them.
There are many reasons to do regular code reviews. One of them is improving the readability of your code. Source code is often the only documentation available for research software, and readability is, therefore, key to anyone trying to reproduce or build upon your research. Would you ever publish a paper without any feedback on its draft?
Have you recently started writing your own code? Is your code related to research or a research project in any way? Would you like to get critical but kind feedback on your code? Could do with a second pair of eyes to track down a bug? Come to our Code Review Clinic! The Code Review Clinic will run on week 2 (8-12 November 2021) of the Research Software Camp: Beyond the Spreadsheet. There will be one session in the morning and one in the afternoon from Monday to Friday. Our aim is to allow first time/beginner coders to get general but targeted feedback on their code from an expert. 

By Becky Arnold, University of Sheffield 

Regular Institute collaborator Dr. Jeffrey Carver of the University of Alabama is conducting a couple of studies relating to the way that people develop research software. These will help provide the community with a better understanding of how different practices, including code review and software metrics are being used in the development of research software.

If you'd like to provide input into these studies, please participate in the following web surveys (each of which will take approximately 15 minutes to complete): 

Subscribe to Code review