Representer نرمافزاری است که راهحل یک دانشآموز را میگیرد و یک نمایش نرمالشده از آن برمیگرداند. ما بعد از این نمایشها استفاده میکنیم تا بازخورد خودکار و دستهبندی را روانتر کنیم.
یک مثال، مفهوم Representer را بهتر روشن میکند. فرض کنید دو دانشآموز دو راهحل برای تمرین 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
اگرچه کد این راهحلها متفاوت است (تورفتگی متفاوت، اسم متغیرهای متفاوت و نحوهی نگارش رشتهی متفاوت)، اساساً یکسان هستند. پس با ساختن یک نمایش نرمالشده از آنها میتوانیم، برای ارائهی بازخورد، آنها را یکسان در نظر بگیریم. این کار به شکل چشمگیری از میزان منتورینگ تکراری میکاهد.
هر track Representer خودش را نگه میدارد که مخصوص همان زبان است. هیچ خروجی استانداردی وجود ندارد؛ تنها چیزی که لازم داریم این است که هر track در درون خودش سازگار باشد.
اگر به ساختن یک Representer علاقهمند هستید، برای اطلاعات بیشتر مستندات Representer را ببینید.