Υλοποίησε επιπλέον εργαλεία


Αφού ξεκινήσεις το track με τις πρώτες 20+ ασκήσεις και έναν test runner, το επίκεντρο πρέπει να μετατοπιστεί στην υλοποίηση πρόσθετων εργαλείων του track.

Υπάρχουν δύο τύποι εργαλείων του track:

  • Παραγωγής: παρέχουν μια βασική λειτουργία στη μαθησιακή εμπειρία αυτής της γλώσσας
  • Συντήρησης: βοηθούν στη συντήρηση του track

Εργαλεία παραγωγής

Υπάρχουν (προς το παρόν) τρία εργαλεία παραγωγής:

  • Test Runners: εκτελούν τα tests μιας άσκησης πάνω στον κώδικα του μαθητή. (απαιτείται)
  • Representers: δημιουργούν μια κανονικοποιημένη αναπαράσταση μιας λύσης (προαιρετικό)
  • Analyzers: αξιολογούν αυτόματα τις υποβολές των μαθητών και παρέχουν σχόλια σαν μέντορα. (προαιρετικό)

Εργαλεία συντήρησης

Για να βοηθήσεις στη συντήρηση του track, μπορείς επίσης να φτιάξεις:

  • Test Generators: δημιουργούν και ενημερώνουν αυτόματα τα tests μιας άσκησης και τη διεπαφή του κώδικα του μαθητή. (προαιρετικό)

Ποιο εργαλείο να υλοποιήσεις;

Τα εργαλεία παραγωγής είναι πιο σημαντικά από τα εργαλεία συντήρησης. Σε αυτό το σημείο, θα πρέπει να έχεις υλοποιήσει έναν Test Runner (αν όχι, δες την τεκμηρίωση για την κατασκευή ενός test runner).

Αφού έχεις φτιάξει έναν test runner, το επόμενο εργαλείο με το οποίο θα ασχοληθείς είναι ο Representer. Υπάρχει κάποια επικάλυψη ανάμεσα στους στόχους του Representer και του Analyzer, αλλά σου προτείνουμε να φτιάξεις πρώτα τον Representer για τους εξής λόγους:

  • Οι Representers είναι συνήθως (πολύ) πιο εύκολοι στην υλοποίηση
  • Οι Representers μπορούν να έχουν πολύ μεγαλύτερο αντίκτυπο στον φόρτο του mentoring από τους Analyzers, ενδυναμώνοντας τους μέντορες
  • Οι Representers εφαρμόζονται σε όλες τις ασκήσεις, ενώ οι Analyzers συνήθως στοχεύουν σε συγκεκριμένες ασκήσεις ή σε ένα υποσύνολό τους

Για να ξεκινήσεις να φτιάχνεις έναν Representer, δες το έγγραφο Δημιουργία ενός Representer από το μηδέν.

Τέλος, αφού έχεις υλοποιήσει έναν Representer, το τελευταίο εργαλείο που θα φτιάξεις είναι ο Analyzer. Για να ξεκινήσεις να φτιάχνεις έναν Analyzer, δες το έγγραφο Δημιουργία ενός Analyzer από το μηδέν.

Σε αυτό το σημείο, το επίκεντρο μάλλον πρέπει να επιστρέψει στην προσθήκη περισσότερων ασκήσεων. Για να επιταχύνεις την προσθήκη νέων ασκήσεων, σκέψου να φτιάξεις έναν Test Generator.

Υλοποίηση

Τα εργαλεία του track συνήθως (κατά κύριο λόγο) γράφονται στη γλώσσα του track.

Caution

Αν και είσαι ελεύθερος να χρησιμοποιήσεις άλλες γλώσσες, κάθε επιπλέον γλώσσα θα κάνει πιο δύσκολη τη συντήρηση ή τη συνεισφορά στο track. Γι' αυτό, σου προτείνουμε να χρησιμοποιείς τη γλώσσα του track όπου είναι δυνατόν, γιατί κάνει τη συντήρηση ή τη συνεισφορά πιο εύκολη.

Ανάπτυξη

Τα εργαλεία παραγωγής πακετάρονται και εκτελούνται ως Docker container. Τα Docker images των εργαλείων αναπτύσσονται αυτόματα μέσω ενός workflow του GitHub Actions.

Τα εργαλεία συντήρησης δεν αναπτύσσονται.