Καταγραφή αρχιτεκτονικής απόφασης: snake_case ή camelCase για ένα API REST;
Απόφαση: Για τα τελικά σημεία (endpoints) του API REST θα χρησιμοποιηθεί η σύμβαση ονομασίας snake_case
Κατάσταση: Αποδεκτή
Πλαίσιο
Στις συμβάσεις ονομασίας για API REST υπάρχουν δύο δημοφιλείς μορφές: snake_case και camelCase. Στη μορφή snake_case κάθε λέξη στο όνομα χωρίζεται με κάτω παύλες, ενώ στο camelCase η πρώτη λέξη του ονόματος είναι με πεζά και οι επόμενες λέξεις έχουν κεφαλαίο το πρώτο τους γράμμα. Αυτή η απόφαση θα καθορίσει ποια σύμβαση ονομασίας πρέπει να χρησιμοποιείται για ένα API REST.
Παράγοντες απόφασης
Συνέπεια με τις υπάρχουσες συμβάσεις ονομασίας στο έργο
Αναγνωσιμότητα και σαφήνεια για οποιονδήποτε μπορεί να εργάζεται στο API
Ευθυγράμμιση με τις βέλτιστες πρακτικές του κλάδου για την ονομασία API REST
Ευκολία υλοποίησης και συντήρησης
Απόφαση
Για τα τελικά σημεία του API REST θα χρησιμοποιηθεί η σύμβαση ονομασίας snake_case. Αυτή η επιλογή καθοδηγείται από τους εξής παράγοντες:
Συνέπεια: Το έργο χρησιμοποιεί ήδη τη σύμβαση ονομασίας snake_case για όλα τα τελικά σημεία και θα ήταν ωφέλιμο να διατηρηθεί αυτή η σύμβαση ώστε να διασφαλιστεί η συνέπεια σε ολόκληρο το έργο.
Αναγνωσιμότητα και σαφήνεια: Η σύμβαση snake_case είναι πιο αναγνώσιμη και ευκολότερη στην κατανόηση. Οι κάτω παύλες παρέχουν σαφή διαχωρισμό μεταξύ των λέξεων, διευκολύνοντας την ανάλυση και κατανόηση του νοήματος του ονόματος.
Ευθυγράμμιση με τις βέλτιστες πρακτικές του κλάδου: Η σύμβαση snake_case χρησιμοποιείται ευρέως στον κλάδο και θεωρείται βέλτιστη πρακτική για API REST, κάτι που την κάνει καλή επιλογή για το έργο.
Ευκολία υλοποίησης και συντήρησης: Η διατήρηση της υπάρχουσας σύμβασης ονομασίας είναι ευκολότερη στην υλοποίηση και τη συντήρηση, καθώς όλος ο υπάρχων κώδικας και η τεκμηρίωση θα έπρεπε να ενημερωθούν αν επιλεγόταν νέα σύμβαση.
Συνέπειες
Υπάρχουν πιθανές συνέπειες αυτής της απόφασης.
Αν νέα μέλη της ομάδας που εντάσσονται στο έργο δεν είναι εξοικειωμένα με τη σύμβαση ονομασίας snake_case, αυτό θα μπορούσε να οδηγήσει σε σύγχυση και λάθη στην ανάπτυξη. Ωστόσο, καθώς το snake_case είναι ευρέως χρησιμοποιούμενη σύμβαση, ένας τέτοιος κίνδυνος είναι ελάχιστος.
Αν στο έργο χρησιμοποιούνται άλλα εργαλεία ή πλαίσια που βασίζονται σε μεγάλο βαθμό στη σύμβαση camelCase, μπορεί να απαιτηθεί επιπλέον προσπάθεια για μετατροπή μεταξύ των συμβάσεων ονομασίας. Ωστόσο, δεν αποτελεί σημαντική ανησυχία αφού το έργο έχει τυποποιηθεί στη σύμβαση snake_case.
Συνολικά, η απόφαση χρήσης της σύμβασης ονομασίας snake_case για τα τελικά σημεία του API REST οδηγεί σε συνεπή, αναγνώσιμη προσέγγιση σύμφωνη με το πρότυπο του κλάδου, ενώ είναι εύκολη στην υλοποίηση και τη συντήρηση.