Software Development Cost - Software Refactoring
Τα τελευταία 15 χρόνια, η αναμόρφωση κώδικα (Software Refactoring) αρχίζει και κερδίζει έδαφος στην διαδικασία ανάπτυξης λογισμικού. Οι δύο λόγοι που βοήθησαν την έρευνα στον τομέα είναι (1) το παράδειγμα της αντικειμενοστραφούς ανάλυσης και σχεδιασμού και (2) η ανάγκη να συντηρηθούν παρωχημένα συστήματα (legacy systems), τα οποία είχαν αναπτυχθεί τις προηγούμενες δεκαετίες.Ο στόχος της αναμόρφωσης κώδικα είναι η βελτίωση της ποιότητας του κώδικα, κρατώντας ταυτόχρονα την ίδια συμεπριφορά. Μερικές τυπικές χρήσεις είναι οι ακόλουθες:
- Διαγραφή επαναλαμβανόμενου κώδικα
- Ωραιοπόιηση του κώδικα ώστε να απλοποιηθεί η εσωτερική δομή του
- Απομόνωση μερών λειτουρικότητας
- Αλλαγή αλγορίθμου για την επίτευξη μιας διεργασίας ενός προγράμματος
- Βελτίωση της απόδοσης του προγράμματος (συνήθως όσον αφορά την ταχύτητα εκτέλεσης).
Πηγές
- Martin Flower, Refactoring Improving The Design Of Existing Code, http://www.refactoring.com/
- Diomidis Spinellis, Global analysis and transformations on preprocessed languages, IEEE Transactions on Software Engineering 29(11), November 2003
- Tom Mens and Tom Tourw?, A Survey on Software Refactoring, IEEE Transactions on Software Engineering, Vol 30(2), 2005
- Pieter Van Gorp, Hans Stenten, Tom Mens, and Serge Demeyer, Towards automating source-consistent UML refactorings , In Proceedings UML'03 (The Sixth International Conference on The Unified Modeling Language), Ed. Perdita Stevens, Jon Whittle, and Grady Booch, Lecture Notes on Computer Science, Volume LNCS 2863, Springer-Verlag, pp. 144-159, 2003
- Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides, Design Patterns: elements of reusable Object-Oriented Software, ISBN 0-201-63361-2, Addison Wesley