Our technical development team at Gibe has started to use Bitbucket and GIT, as part of our new agile development process, to peer review our code using pull requests.
In most cases, our clients and end-users will not notice this shift in how we work on projects, but overall it will mean some significant benefits to the websites that we produce.
What are peer reviews?
Peer reviews at Gibe refer to the use of pull requests to review code implemented by developers on our website projects.
What are pull requests?
A pull request is a feature of version control (in our case, GIT with Bitbucket) that allows one or more developers to collaborate on a piece of code or work.
An easy-to-use interface visually highlights changes made to code, where each developer included in the pull request can provide feedback, improvements and constructive comments on the code.
The proposed feedback and improvements can then be implemented to the code prior to integrating them back into the project, making for better code, standards and collaboration.
Benefits of peer reviews and pull requests
Fewer bugs
Rather than a single developer finding bugs in code, many developers can review the work and find bugs and issues earlier.
Knowledge sharing
By reviewing code snippets rather than full websites, developers are exposed to many projects, giving them an insight into how each project works.
Knowing what is being added to a project keeps developers up-to-date with project improvements and changes.
It also gives developers a chance to feedback a better implementation based on work on another project.
Coding standards
Pull requests are a great chance to spot inconsistencies with code and coding standards. Consistent code between projects makes it easier and faster for a developer to recognise and work on a project.
New developers are also able to read a pull request to gain knowledge about coding standards and approach.
Traceable changes
The best pull requests will contain code changes relating to a single issue. This concise approach leads to traceability and will ease the review process.
Separate branches
Reducing the number of changes to a single branch can seem excessive, but it will help separate work and changes from concurrent work by another developer. This is beneficial as it can help reduce conflicts in code and isolate any bugs and issues with code.