Βίντεο: Writing 2D Games in C using SDL by Thomas Lively 2024
Ο προγραμματιστής μπορεί να σπάσει ένα μόνο πρόγραμμα σε ξεχωριστά αρχεία πηγής γενικά γνωστά ως modules . Αυτές οι μονάδες καταρτίζονται χωριστά στον κώδικα μηχανής από τον μεταγλωττιστή C ++ και στη συνέχεια συνδυάζονται κατά τη διάρκεια της διαδικασίας δημιουργίας για να δημιουργηθεί ένα ενιαίο πρόγραμμα.
Αυτές οι ενότητες είναι επίσης γνωστές από τους μεταγλωττιστές ως μονάδες μετάφρασης C ++. Η διαδικασία συνδυασμού ξεχωριστών ενοποιημένων ενοτήτων σε ένα ενιαίο πρόγραμμα καλείται που συνδέει .
Το σπάσιμο των προγραμμάτων σε μικρότερα, πιο διαχειρίσιμα κομμάτια έχει αρκετά πλεονεκτήματα. Πρώτον, το σπάσιμο ενός προγράμματος σε μικρότερες μονάδες μειώνει τον χρόνο σύνταξης. Πολύ μεγάλα προγράμματα μπορεί να διαρκέσουν αρκετά.
Επιπλέον, η ανασυγκρότηση ολόκληρου του πηγαίου κώδικα στο έργο ακριβώς επειδή μια ή δύο γραμμές αλλαγής είναι εξαιρετικά σπάταλη. Είναι πολύ καλύτερο να επανασυναρμολογήσετε μόνο την ενότητα που περιέχει την αλλαγή και στη συνέχεια να τη συνδέσετε σε όλες τις αμετάβλητες μονάδες για να δημιουργήσετε ένα νέο εκτελέσιμο με την αλλαγή. (Η σύνταξη συνήθως διαρκεί περισσότερο από τη σύνδεση.)
Δεύτερον, είναι πιο εύκολο να κατανοήσετε - επομένως, πιο εύκολο να γράψετε, να δοκιμάσετε και να εντοπίσετε σφάλματα - ένα πρόγραμμα που αποτελείται από μια σειρά από καλοσχεδιασμένες αλλά οιονεί ανεξάρτητες ενότητες, καθεμία από τις οποίες αντιπροσωπεύει λογική ομαδοποίηση λειτουργιών. Μια μεγάλη, ενιαία μονάδα πηγής γεμάτη από όλες τις λειτουργίες που μπορεί να χρησιμοποιήσει ένα πρόγραμμα γρήγορα γίνεται δύσκολο να κρατηθεί ευθεία.
Το τρίτο είναι το πολύ φημισμένο φάσμα της επαναχρησιμοποίησης. Μια μονάδα πλήρης επαναχρησιμοποιήσιμων λειτουργιών που μπορούν να συνδεθούν σε μελλοντικά προγράμματα είναι πιο εύκολο να τεκμηριωθεί και να διατηρηθεί. Μια αλλαγή στην ενότητα για να διορθώσετε κάποιο σφάλμα ενσωματώνεται γρήγορα σε άλλα εκτελέσιμα που χρησιμοποιούν αυτή την ενότητα.
Τέλος, υπάρχει το θέμα της συνεργασίας ως ομάδας. Δύο προγραμματιστές δεν μπορούν να δουλέψουν στην ίδια μονάδα (τουλάχιστον όχι πολύ καλά). Μια ευκολότερη προσέγγιση είναι να αναθέσει ένα σύνολο λειτουργιών που περιέχονται σε μία μονάδα σε έναν προγραμματιστή, ενώ εκχωρεί ένα διαφορετικό σύνολο λειτουργιών σε διαφορετική ενότητα σε ένα δεύτερο προγραμματιστή. Οι ενότητες μπορούν να συνδεθούν μεταξύ τους όταν είναι έτοιμες για δοκιμή.