Code Quality is a loose approximation of the usefulness and maintainability of the code in the long term. Code Quality provides insights to the hiring managers about the coding practices and style of the candidate. This enables the hiring managers to make better hiring decisions that are not just based on the accuracy of the code written by the candidate.
Note: Currently, we do not provide an overall rating or score for the code quality. Also, we do not evaluate the time complexity of the candidate's code submission. Only the issues in the code are highlighted and described.
Presently, we only support the code quality feature for these languages: C++, C++ (version 14), Python, Python (version 3), Java, Java (version 8), PHP, and JavaScript.
The key attributes used to evaluate the code quality of the candidate are as follows:
- Duplications: The more is the number of the duplicate blocks of code, the worse is the quality of the code.
- Documentation: Large number of non useful comments in the code adversely impacts the code quality.
- Issues: The number of issues with the following three levels of severity:
- Blocker: The blocker issues have operational or security risk. These issues might make the whole application unstable in production.
Examples: Calling a garbage collector, not closing a socket, etc. - Critical: The critical issues have operational or security risk. These issues might lead to an unexpected behavior in production without impacting the integrity of the whole application.
Examples: NullPointerException, badly caught exceptions, lack of unit tests, etc. - Major: These issues might have a substantial impact on productivity.
Examples: too complex methods, package cycles, etc.
- Blocker: The blocker issues have operational or security risk. These issues might make the whole application unstable in production.
- Maintainability: When candidates use the code that is easy to implement in the short run instead of applying the best overall solution, it might require extra development work in the long run. This is referred to as long term technical debt. The more this debt, the worse is the code quality.
- Security: Code quality is also determined by the security vulnerabilities present in the code. Many security vulnerabilities involve coding errors that allow attackers easy access to the system. The more vulnerable the system, the poorer is the code quality.
Refer the View code quality in a report topic to understand the steps involved to enable this option.
Comments
0 comments
Please sign in to leave a comment.