Representer


Un representer è un software che prende la soluzione di uno studente e ne restituisce una rappresentazione normalizzata. Poi usiamo queste rappresentazioni per semplificare il feedback automatizzato e la classificazione.

Un esempio è il modo migliore per spiegare i representer. Immaginiamo che due studenti inviino due soluzioni all'esercizio hello-world in Ruby:

# Student 1's submission
def self.hello(name = 'World')
  "Hello, #{name}!"
end
# Student 2's submission
def self.hello(nom = 'World')
  "Hello, #{nom}!"
end

Anche se il codice di queste soluzioni è diverso (indentazione, nomi delle variabili e sintassi delle stringhe), in sostanza sono la stessa cosa. Quindi, creando una rappresentazione normalizzata, possiamo trattarle come identiche ai fini del feedback. Questo riduce drasticamente la quantità di mentoring duplicato da fare.

Ogni track mantiene il proprio representer, specifico per quel linguaggio. Non esiste un output standardizzato: chiediamo solo che un track sia coerente al suo interno.

Come costruire un representer

Se ti interessa costruire un representer, dai un'occhiata alla documentazione sui representer per maggiori informazioni.