Τετάρτη, 6 Αυγούστου 2014

Oι άγραφοι νόμοι των προγραμματιστών

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


Οι 21 άγραφοι νόμοι του προγραμματιστή, σύμφωνα με σχετικό post στο forum του osarena.net, είναι οι εξής:

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) Οι χρήστες πραγματικά δεν γνωρίζουν τι θέλουν από ένα πρόγραμμα μέχρι τη στιγμή που θα το χρησιμοποιήσουν.

Δεν υπάρχουν σχόλια:

 
SYNC ME @ SYNC