Skip to content
This repository has been archived by the owner on Nov 21, 2024. It is now read-only.

Feature: Merge annotations (if they are more than X) before submitting #326

Closed
Luro02 opened this issue Aug 3, 2023 · 1 comment
Closed

Comments

@Luro02
Copy link

Luro02 commented Aug 3, 2023

Is your feature request related to a problem?

The autograder is very thorough when grading, so it produces a lot of annotations.
There can be 100+ annotations for a submission, which is a challenge for a student to review.
It becomes more likely that the student does not see important feedback or does not look through them all, which is unfortunate.

There are some lints that make sense to group like

  • use format strings ("%d%s".formatted(number, string)),
  • non-descriptive constant names
  • unused code

but there are other lints like common reimplementation or use different visibility that provide individual suggestions for specific code and therefore would loose a lot of value by merging them.

A potential solution should therefore conditionally group annotations

Describe the solution you'd like

The simplest solution I can think of, is to do the following:

The autograder emits for each annotation an id (could be a number).

Before submitting, the grading tool will

  • count all annotations with the same id
  • if there are more than for example 5 with the same id
  • the first 4 are kept as is and the remaining are merged into one annotation
  • the annotation could look like this: "The identifier 'intField4' should not contain its type in the name. Other problems in L7, L8, L9, L10, L11."

Describe alternatives you've considered

The autograder merges lints for now, but this results in a few problems:

  • false-positives made by the autograder are harder to find, because they might be hidden in a message and not marked in the code.
  • one might think that some pieces have been forgotten by the autograder (because they are not marked)

Additional context

No response

@dfuchss
Copy link
Member

dfuchss commented Aug 3, 2023

I think we should/can redesign the way the annotations are presented in Artemis.
Actually, I would be happy if we can implement this in Artemis4J :)

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants