A code review is the process of testing your code parameters. Once you have completed the project and created a GitHub repository, you will be able to send it to us and we will check it out.
Why should you do this?
Because no one says No to a free code review!
The main goal of this process is to provide you with an expert analysis and suggestions on how you can improve your product.
Here is how the process goes:
After you have submitted your code, you will receive a review of it, including the test coverage analysis.
We will schedule a call via Skype or similar service where we can go through the corrections with you, to better elaborate the result. Afterwards, you can contact us for any further suggestions.
The code should be reliable—errors should be handled properly. Try using try-catches everywhere where there's a possibility for an error, so the user never gets something unexpected. Remember the DRY (Don’t Repeat Yourself) principle? Everything that can be reused should be made into a service, a util function, etc. Please be sure to write generic classes and interfaces.
Here are a few Don’ts you should keep in mind: don't use nested loops if there's no need for it and don't use loggers. Your code should be: readable, easily testable, easy to debug and configurable. Keep in mind that if we can’t get an idea of what is going on in the code just by looking at it, it is probably not the best-written code.
The project should follow a certain architecture (MVC, Client-Server, Service-oriented etc.) and should use the proper code, design patterns, and technologies. The code should also be split into multiple layers and tiers (Presentation, Business and Data layers).
We will be testing many other parameters in this process, including code formatting, the usage of framework features,
speed optimization, code security, code performance and code reusability.
*We hold the right to reject code review if it doesn’t match our technologies, project size or similar criteria.
If full review is requested our team will contact you with further details based on project size, type and technologies used.