Γιατί το αρχείο ρυθμίσεών μας είναι κυρίως σχόλια
Το .htaccess σε αυτόν τον διακομιστή έχει 478 γραμμές. Οι 98 από αυτές είναι κανόνες. Οι 309 είναι σχόλια.
Τρεις γραμμές εξήγησης για κάθε γραμμή που κάνει κάτι. Αυτή η αναλογία δεν ήταν προγραμματισμένη· είναι αυτό που συμβαίνει όταν ο κανόνας για τη συγγραφή ενός κανόνα λέει ότι ο λόγος ύπαρξής του πρέπει να μπαίνει δίπλα του.
Γιατί ένας κανόνας επανεγγραφής χρειάζεται μια παράγραφο
Ένας κανόνας σε ρυθμίσεις διακομιστή είναι ασυνήθιστα δύσκολος στο να διαβαστεί αργότερα. Είναι λακωνικός εκ σχεδιασμού, δεν έχει όνομα, δεν μπορεί να εκτελεστεί βήμα προς βήμα, και το αποτέλεσμά του είναι αόρατο αν δεν ζητηθεί ακριβώς η σωστή διεύθυνση. Έξι μήνες αργότερα, η μόνη ειλικρινής απάντηση στο «γιατί είναι αυτό εδώ» είναι συνήθως μια εικασία.
Ακόμη χειρότερα, η λάθος εικασία είναι φθηνή και μοιάζει ασφαλής. Έναν κανόνα που κανείς δεν καταλαβαίνει, κάποιος τελικά τον διαγράφει σε ένα συγύρισμα, και αυτό που απέτρεπε επιστρέφει.
Γι’ αυτό κάθε κανόνας εδώ συνοδεύεται από τον σκοπό του και από το πού μπορεί να ελεγχθεί. Έντεκα από τις γραμμές σχολίων έχουν ημερομηνία, δώδεκα έχουν μια μετρημένη τιμή. Αυτά είναι τα δύο πράγματα που επιτρέπουν σε έναν μελλοντικό αναγνώστη να κρίνει αν ο λόγος εξακολουθεί να ισχύει.
Τρεις κανόνες που δεν θα επιβίωναν χωρίς το σχόλιό τους
Ένας κωδικός γλώσσας που έμοιαζε με κατάληξη script. Ένας κανόνας που μπλόκαρε ξεχασμένα αρχεία πηγαίου κώδικα έλεγχε την κατάληξη, και μία από τις καταλήξεις ήταν η .pl — Perl. Οι προεπισκοπήσεις σχεδίων ονομάζονται 2900.pl.svg, όπου το pl σημαίνει πολωνικά. Κάθε πολωνική προεπισκόπηση άρχισε να απαντά με 403, ενώ όλες οι άλλες γλώσσες λειτουργούσαν κανονικά. Το σχόλιο λέει πλέον ότι η κατάληξη pl λείπει σκόπιμα από τη λίστα, γιατί, και τι μετρήθηκε ποια μέρα. Χωρίς αυτό, ο επόμενος που θα συγυρίσει τη λίστα θα την ξαναβάλει μέσα.
Δύο διακόπτες εκεί όπου ένας μοιάζει αρκετός. Τα προσυμπιεσμένα αρχεία δεν πρέπει να συμπιέζονται ξανά κατά την αποστολή. Οι ρυθμίσεις ορίζουν no-gzip, που σταματά τον έναν από τους δύο συμπιεστές του διακομιστή. Ο άλλος συμπίεζε ξανά το έτοιμο αρχείο, ενώ η κεφαλίδα εξακολουθούσε να δηλώνει gzip, και τα προγράμματα περιήγησης λάμβαναν μη αναγνώσιμο περιεχόμενο. Το σχόλιο εξηγεί γιατί υπάρχουν και το no-gzip και το no-brotli εκεί, επειδή η αφαίρεση του δεύτερου μοιάζει με συγύρισμα.
Ένας κανόνας απαγόρευσης που είναι αντεστραμμένος. Ο κανόνας που μπλοκάρει αντίγραφα ασφαλείας δεν απαριθμεί απαγορευμένες καταλήξεις. Ελέγχει αν ένα όνομα αρχείου περιέχει κατάληξη πηγαίου κώδικα που δεν βρίσκεται στο τέλος — κάτι που πιάνει και ονόματα που δεν έχει επινοήσει ακόμη κανείς. Το σχόλιο απαριθμεί τα πέντε ονόματα που η προφανής εκδοχή χειριζόταν λάθος, μαζί με τους κωδικούς κατάστασής τους. Αν διαβάσετε μόνο τον κανόνα, μοιάζει άσκοπα έξυπνος· αν διαβάσετε το σχόλιο, μοιάζει με το μόνο πράγμα που λειτουργεί.
Η γενική εκδοχή
Τα σχόλια που επαναλαμβάνουν τον κώδικα δεν έχουν καμία αξία, και όλοι το ξέρουν. Αυτά εδώ δεν είναι τέτοια. Καταγράφουν αυτό που ο κώδικας δεν μπορεί: τι πήγε στραβά, τι μετρήθηκε, ποια ημερομηνία, και ποια ήταν η εναλλακτική που απορρίφθηκε.
Το κριτήριο για το αν ένα σχόλιο αξίζει να γραφτεί είναι αρκετά απλό. Αν η γραμμή από πάνω του διαγραφόταν από κάποιον που δεν ήξερε την ιστορία, θα χαλούσε κάτι σιωπηλά; Αν ναι, γράψτε την ιστορία. Αν όχι, μη γράψετε τίποτα.
Το τρία προς ένα δεν είναι στόχος. Είναι αυτό που έβγαλε αυτό το κριτήριο σε ένα αρχείο όπου σχεδόν κάθε γραμμή υπάρχει επειδή κάτι συγκεκριμένο πήγε στραβά.