Οι 21 Νόμοι του Προγραμματιστή

από Μαρίλια Ιωάννου
Οι 21 Νόμοι του Προγραμματιστή

Όπως όλοι οι έμπειροι προγραμματιστές γνωρίζουν, υπάρχουν άγραφοι νόμοι που διέπουν την ανάπτυξη λογισμικού.

Όπως όλοι οι έμπειροι αλλά και οι άσχετοι προγραμματιστές γνωρίζουν, σε αυτό το επάγγελμα (όπως και σε όλα) υπάρχουν κάποιοι άγραφοι νόμοι που διέπουν την ανάπτυξη του λογισμικού. Βέβαια αν και τις περισσότερες φορές δεν υπάρχουν ποινές αν τολμήσουν και τους παραβιάσουν, αντιθέτως, μερικές φορές υπάρχει και ανταμοιβή! Ακολουθούν οι 21 άγραφοι νόμοι του προγραμματιστή που εμείς εδώ τολμήσαμε να τους γράψουμε. Σύντομα μάλιστα, θα τους παρουσιάσουμε και στη Βουλή προς ψήφιση.

1) Οποιοδήποτε πρόγραμμα, μόλις εκδοθεί είναι ήδη απαρχαιωμένο.

2) Είναι πιο εύκολο να αλλάξουν οι περιστάσεις κάτω απο τις οποίες αναπτύσσεται το πρόγραμμα, παρά το ίδιο το πρόγραμμα.

3) Αν ένα πρόγραμμα είναι χρήσιμο, τότε σίγουρα πρέπει να υποστεί κάποια μετατροπή.

4) Αν ένα πρόγραμμα είναι άχρηστο, τότε σίγουρα χρειάζεται και το ανάλογο εγχειρίδιο χρήσης.

5) Μόνο το 10% του κώδικα οποιουδήποτε προγράμματος θα υπάρχει περίπτωση να εκτελεσθεί κατα την λειτουργία του. (Σας θυμίζει κάτι απο δημόσιο;)

6) Το πρόγραμμα αναπτύσσεται για να χρησιμοποιεί όλα τα resources που υπάρχουν.(Και ακόμη περισσότερα έτσι ώστε να δικαιολογούνται άμεσες αναβαθμίσεις.)

7) Οποιοδήποτε μη τετριμμένο πρόγραμμα οπωσδήποτε έχει τουλάχιστον ένα λάθος.

8) Η πιθανότητα ενός άψογου demo είναι αντιστρόφως ανάλογη του αριθμού των ατόμων που παρακολουθούν, εις την δύναμη του αριθμού των χρημάτων που έχουν δοθεί για την ανάπτυξή του.

9) Δεν υπάρχει περίπτωση να φανεί το πιο σοβαρό και επιβλαβές πρόβλημα σε ένα πρόγραμμα νωρίτερα απο 6 μήνες μετά την τελική του έκδοση.

10)Τα ανεξιχνίαστα προβλήματα είναι άπειρα σε ποικιλία, σε αντίθεση με αυτά που μπορούν να εντοπισθούν τα οποία εξ ορισμού είναι περιορισμένα.

11) Η προσπάθεια που χρειάζεται για να διορθωθεί ένα λάθος αυξάνεται εκθετικά με τον χρόνο.

12) Η πολυπλοκότητα του προγράμματος αυξάνεται συνεχώς μέχρι να ξεπεράσει τις δυνατότητες του προγραμματιστή που το συντηρεί.

13) Οποιοδήποτε κομμάτι κώδικα το οποίο δεν το έχεις ξαναδεί εδώ και μήνες, πολύ πιθανών να έχει γραφτεί από κάποιον άλλο.

14) Μέσα σε οποιοδήποτε μικρό προγραμματάκι είναι ένα τεράστιο πρόγραμμα που παλεύει να βγει έξω!

15) Όσο πιο σύντομα αρχίσεις να προγραμματίζεις τόσο πιο αργά θα τελειώσεις.

16) Ένα απρόσεχτα σχεδιασμένο project θέλει τρεις φορές περισσότερες τον χρόνο που χρειάζεται για να ολοκληρωθεί. Ένα προσεκτικά σχεδιασμένο project θέλει μόνο δύο.

17) Η πρόσθεση προγραμματιστών σε ένα καθυστερημένο project το κάνει να καθυστερήσει ακόμη περισσότερο.

18) Ένα πρόγραμμα δεν είναι ποτέ λιγότερο απο 90% έτοιμο και ποτέ περισσότερο απο 95%.

19) Αν αυτοματοποιήσεις ένα χάλι, παίρνεις ένα αυτοματοποιημένο χάλι.

20) Φτιάξε ένα πρόγραμμα που ακόμα και ένας χαζός να μπορεί να το χρησιμοποιεί και τότε μόνο ο χαζός θα το χρησιμοποιεί.

21) Οι χρήστες πραγματικά δεν γνωρίζουν τι θέλουν απο ένα πρόγραμμα μέχρι τη στιγμή που θα το χρησιμοποιήσουν.

Αν πιστεύετε πως είστε προγραμματιστής και κατά την ανάγνωση των πιο πάνω κανόνων, σε περισσότερους απο 10 αναφωνήσατε αυθόρμητα "ναιι" ή χαμογελάσατε με υπονοούμενο τότε συγχαρητήρια, μπορείτε να θεωρείτε τον εαυτό σας επαγγελματία programmer. :-)
JTN PANEL