exercism / exercism/v3-launch

Build analyzer

Open
#53 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
No language data
Stars
0
Forks
3
PR merge metrics
No merged PRs in 30d

Description

In Exercism v3, we are making increased use of our v2 [analyzers](https://github.com/exercism/docs/blob/main/building/tooling/analyzers/README.md). Analyzers automatically assess student's submissions and provide mentor-style commentary. They can be used to catch common mistakes and/or do complex solution analysis that can't easily be done directly in a test suite.

Each analyzer is track-specific. When a new solution is submitted, we run the track's analyzer, which outputs a JSON file that contains the analysis results.

In v2, analyzer comments were given to a mentor to pass to a student. In v3, the analyzers will normally output directly to students, although we have added an extra key to output suggestions to mentors. If your track already has an analyzer, the only requisite change is updating the outputted copy to be student-facing.

Each track should build an analyzer according to [the spec](https://github.com/exercism/docs/blob/main/building/tooling/analyzers/interface.md). For tracks building an analyzer from scratch, we have a [starting guide](https://github.com/exercism/docs/blob/main/building/tooling/analyzers/creating-from-scratch.md).

The analyzer is an optional tool though, which means that if a track does not have an analyzer, it will still function normally.

## Choosing between representer and analyzer

There is some overlap between the goals of the representer and the analyzer. If you want to build both, we recommend starting by building the representer for the following reasons:

- Representers are usually (far) easier to implement
- Representers can have a far bigger impact on the mentoring load than analyzers by empowering mentors
- Representers apply to _all_ exercises, whereas analyzers usually target specific exercises or a subset

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.