Репрезентер - це програмне забезпечення, яке бере рішення студента й повертає його нормалізоване представлення. Далі ми використовуємо ці представлення, щоб оптимізувати автоматизований зворотний звʼязок і класифікацію.
Найкраще пояснити репрезентери допоможе приклад. Уявімо, що двоє студентів надсилають два подання до вправи hello-world мовою 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
Хоча код цих рішень різний: інші відступи, назви змінних і синтаксис рядків тексту (англ. string). Але по суті вони однакові. Тож, створивши їхнє нормалізоване представлення, ми можемо вважати їх однаковими, коли надаємо зворотний звʼязок. Це різко зменшує обсяг повторного наставництва, який доводиться проводити.
Кожен трек підтримує власний репрезентер, специфічний для своєї мови. Єдиного стандарту для вихідних даних немає: ми лише вимагаємо, щоб трек був внутрішньо узгодженим.
Якщо ми хочемо створити репрезентер, більше інформації можна знайти в документації про репрезентери.