- Correctness: 80%
- General coding style: 10%
BinaryTree.cpp
check (number of lines in each function definition): 10%
The correctness score depends on how many test cases you pass on JOJ.
-
Number of non-main functions [1 point]
Your program should be split into at least 3 non-main functions for compress.cpp and decompress.cpp.
- 2 or more subroutines [1 point]
- 1 subroutines [0.5 points]
- 0 subroutine [0 points]
-
Length of functions [1 point]
Your main functions should be no longer than 50 lines and non-main functions should be no more than 150 lines.
- No long functions [1 point]
- 1 long functions [0.5 points]
- 2 or more long functions [0 points]
-
Specification comments (REQUIRES, MODIFIES, EFFECTS) [1.5 points]
Your functions declarations should always contain specification comments.
- All declarations are well specified [1.5 points]
- 1 declaration are poorly specified [1 point]
- 2 declarations are poorly specified [0.5 points]
- 3 or more declarations are poorly specified [0 points]
-
Body comments [1.5 points]
You should have your functions well commented. The length of function // the number of comments < 50.
- All function are well commented [1.5 points]
- 1 function are poorly commented [1 point]
- 2 function are poorly commented [0.5 points]
- 3 or more function are poorly commented [0 points]
The total clang-check score will round down to the nearest integer, i.e. 3.5 will round down to 3.
-
Number of warning types [3 points]
- 0-5 types [3 points]
- 5-10 types [2 points]
- 10-25 types [1 point]
- More than 25 types [0 points]
-
Number of warnings [2 points]
- 0-2 warnings [2 points]
- 2-5 warnings [1 point]
- More than 5 warnings [0 points]
See clang-tidy flags in https://github.com/ve280/code-check/blob/master/clang/tidy.py