Η νέα σχεδίαση επιτρέπει γρήγορη και σταθερή εμφάνιση pull requests με πάνω από ένα εκατομμύριο αλλαγές στον κώδικα και εκατοντάδες σχόλια.
Η GitHub προσέφερε σημαντική αναβάθμιση στην εφαρμογή GitHub Copilot, επιλύοντας τα προβλήματα απόδοσης που δημιουργούνταν κατά την επεξεργασία πολύ μεγάλων pull requests. Η νέα αρχιτεκτονική της εφαρμογής διαχειρίζεται έως και pull requests με 2.200 αρχεία, πάνω από ένα εκατομμύριο αλλαγές σε κώδικα και περισσότερα από 400 inline σχόλια, διατηρώντας γρήγορη και ομαλή εμπειρία χρήσης.
Για να επιτευχθεί αυτή η απόδοση, η GitHub ανασχεδίασε το σύστημα εμφάνισης των pull requests χωρίζοντας τη γεωμετρία του κώδικα από το δυναμικό μέγεθος των σχολίων. Αντί για συνεχή παρακολούθηση του μεγέθους κάθε σχολίου ξεχωριστά, εφαρμόζεται μία προγραμματισμένη μέτρηση σε συγκεκριμένες στιγμές, όπως όταν ο χρήστης δεν αλληλεπιδρά ή μετακινείται στη σελίδα. Αυτή η τεχνική μειώνει σημαντικά το φόρτο και τις καθυστερήσεις.
Η λειτουργία scroll anchoring διορθώνει τις αλλαγές στο ύψος των σχολίων κατά την επεξεργασία τους, αποτρέποντας άλματα της οθόνης που προκαλούσαν παλιότερα δυσκολίες στην πλοήγηση. Αυτό επιτυγχάνεται με χρήση ταυτοποιητών θέσης και ειδικών κανόνων που εξασφαλίζουν σταθερότητα στην εμφάνιση.
Επιπλέον, η ροή δεδομένων έχει βελτιστοποιηθεί ώστε να αποστέλλονται πρώτα οι βασικές δομές και μετά το περιεχόμενο, με αναβολή βαριών λειτουργιών όπως το syntax highlighting για κάθε στοιχείο. Παράλληλα, διατηρείται προσωρινή αποθήκευση των τελευταίων αλλαγών για να επιταχύνεται η απόκριση της εφαρμογής.
Η GitHub χρησιμοποιεί συνεχή αυτοματοποιημένη διαδικασία ελέγχου και βελτίωσης, η οποία εντοπίζει και διορθώνει σφάλματα στην απόδοση των μεγάλων pull requests με εργαλεία που λειτουργούν ανεξάρτητα και χωρίς ανθρώπινη παρέμβαση.
Αυτές οι τεχνικές καταφέρνουν να συλλάβουν την εμπειρία χρήσης μικρών σε μέγεθος pull requests και σε περιπτώσεις όπου οι αλλαγές είναι εξαιρετικά μεγάλες, παρέχοντας στους προγραμματιστές μεγαλύτερη άνεση και αποδοτικότητα στην εργασία τους.
Πηγές
- Πρωτότυπο άρθρο: github.blog




Φόρτωση σχολίων…