
1. Ποτέ να μην βάζεις κανένα { } στα if/else μπλόκ του προγραμματός, εκτός αν είναι συντακτικά υποχρεωτικά. Αν μάλιστα έχεις συνεχόμενες φωλιασμένες δομές με if/else, ιδιαίτερα με λίγο παραπλανητικές εσοχές, μπορείς να μπερδέψεις ακόμα και έναν έμπειρο προγραμματιστή.
2. Να ακολουθείς με ευλάβεια τις οδηγίες για αποφυγή των goto, των προσωρινών return και των breaks με labels, ιδιαίτερα όταν μπορείς να αυξήσεις το βάθος των if/else τουλάχιστον κατα 5 επίπεδα.
3. Να χρησιμοποιείς πάντα ονόματα μεταβλητών που διαφέρουν κατα ένα χαρακτήρα ή μόνο χάρη στην διάκριση κεφαλαία/μικρά. Ένα ιδανικό ζευγάρι μεταβλητών είναι για παράδειγμα το swimmer και swimner. Eκμεταλλεύσου την δυσκολία μερικών γραμματοσειρών να διακρίνουν χαρακτήρες όπως ilI1| ή oO08 με ζευγάρια μεταβλητών όπως parselnt και parseInt, ή DOCalc και D0Calc. Το l είναι μια ιδανική επιλογή για όνομα μεταβλητής, μια και με μια απλή ματιά μπορεί πολλύ εύκολα να περάσει για την σταθερά 1. Επίσης μπορείς να χρησιμοποιείς ονόματα μεταβλητών όπως "lala", "mama", "koko", "papa" και άλλα δυσύλλαβα.
4. Όπου οι κανόνες το επιτρέπουν, να ξαναχρησιμοποιείς άσχετα ονόματα μεταβλητών. Ομοίως να χρησιμοποιείς την ίδια προσωρινή μεταβλητή για δύο άσχετους σκοπούς (με την δικαιολογία ότι γλυτώνεις θέσεις μνήμης).
5. Προσπάθησε να χρησιμοποιείς το μικρό l για να δηλώσεις σταθερές τύπου long π.χ. το 10l μπορεί πολλύ εύκολα να περάσει για 101.
6. Αγνόησε τις συμβάσεις μεταξύ κεφαλαίων και μικρών. Εξάλλου, ένα κείμενο μόνο με μικρά γράμματα είναι μονότονο. Δοκίμασε να αυτοσχεδιάσεις (ιδιαίτερα ενδιαφέρουσα είναι η περίπτωση μεταβλητών με ανάμεικτα κεφαλαία και μικρά, όπως π.χ. την HaShTaBlE). ʼσε που δεν χρειάζεται να ανησυχείς, γιατί πολλύ απλά ο compiler δεν πρόκειται να σου πετάξει ούτε ένα warning!
7. Ποτέ να μην χρησιμοποιείς το i για εσωτερικό δείκτη σε loops. Να το χρησιμοποιείς για οτιδήποτε άλλο, ιδιαίτερα για μεταβλητές char, double και float. Αντίθετα να βάζεις το c σε κάθε loop που συναντάς.
8. Ποτέ να μην χρησιμοποιείς τοπικές μεταβλητές. Κάθε φορά που νιώθεις τον πειρασμό να τις χρησιμοποιήσεις κάνε τις static αντί να μην τις μοιράζεσαι, είναι μια καθαρά εγωιστική πράξη. Οι προγραμματιστές σε C++ μπορούν να προχωσήσουν ένα βήμα παραπέρα και να κάνουν όλες τις μεταβλητές global.
9. Ποτέ να μην καταγράφεις τις υποψίες σου σχετικά με βελτιστωποίηση συναρτήσεων, αλλά να τις κρατάς για τον εαυτό σου. Αν έχεις καμιά ιδέα για το πως μπορεί να ξαναγραφτεί ο κώδικας, για το όνομα του Θεού, μην την γράψεις πουθενά. Σκεψου τι μπορεί να πεί ο προγραμματιστής που τις έγραψε ή το αφεντικό σου ή ο πελάτης αν δεί τα σχολιά σου. Άσε που μπορεί να σε απολύσουν για κάτι τέτοιο.
10. Για να σπάς την βαρεμάρα, χρησιμοποίησε ένα λεξικό για να βρείς μερικά ενναλακτικά προτώτυπα ονόματα για μεταβλητές ή συναρτήσεις. Παρόλα αυτά, αν υπάρχουν δύο όμοιες συναρτήσεις που έχουν μία βασική διαφορά, βάζε πάντα την ίδια λέξη για να τις περιγράψεις (π.χ. print για να γράψεις σε ένα αρχείο, print για να τυπώσεις στον εκτυπωτή και print για να τυπώσεις στην οθόνη). Σε καμία περίπτωση όμως, να μην γράψεις κατάλογο με τις λειτουργίες παραπλήσιων συναρτήσεων. Κάτι τέτοιο θα ερχότανε σε σύγκρουση με την βασική αρχή της απόκρυψης δεδομένων.
0 σχόλια:
Δημοσίευση σχολίου