Compute the final score of an assignment based on the criteria.yml file.
This small package is an helper to sum the points of programming assignments.
Simply use score inside an assignment folder
$ score -v
Got 7 points + 2 points out of 10 points
4.5
$ score
4.5
$ score check criteria.yml
OK, schema version 2You can use the porcelain command score json to get the detailed score report in JSON format:
$ score json [file]Criteria files now use the version 2 schema which is more explicit and easier to validate. The root object must contain a schema_version: 2 field and a criteria mapping. Each section can provide an optional description and nested criteria items. A leaf item uses descriptive keys such as description, awarded_points, and either max_points (regular points) or bonus_points (bonus points).
---
schema_version: 2
criteria:
testing:
description: Automated testing
build:
description: The program builds correctly
awarded_points: -2
max_points: -4
unit:
description: Unit test suite covers the critical paths
awarded_points: 4
max_points: 4
code:
description: Code quality
implementation:
description: Smart pointers are used correctly
awarded_points: 4
max_points: 4
duplication:
description: No repeated code
awarded_points: -1
max_points: -5
bonus:
description: Extra credit
extension:
description: Program goes beyond the scope of the assignment
awarded_points: 2
bonus_points: 3Use score check to validate a criteria file and score update to migrate an older version 1 definition to the version 2 schema.