Software Development Cost — Software Refactoring
Εργασία, Οκτώβριος 2005 — a study of refactoring techniques and their effect on development cost.
Τα τελευταία 15 χρόνια, η αναμόρφωση κώδικα (Software Refactoring) αρχίζει και κερδίζει έδαφος στην διαδικασία ανάπτυξης λογισμικού. Οι δύο λόγοι που βοήθησαν την έρευνα στον τομέα είναι (1) το παράδειγμα της αντικειμενοστραφούς ανάλυσης και σχεδιασμού και (2) η ανάγκη να συντηρηθούν παρωχημένα συστήματα (legacy systems), τα οποία είχαν αναπτυχθεί τις προηγούμενες δεκαετίες.
Ο στόχος της αναμόρφωσης κώδικα είναι η βελτίωση της ποιότητας του κώδικα, κρατώντας ταυτόχρονα την ίδια συμπεριφορά. Μερικές τυπικές χρήσεις είναι οι ακόλουθες:
- Διαγραφή επαναλαμβανόμενου κώδικα
- Ωραιοποίηση του κώδικα ώστε να απλοποιηθεί η εσωτερική δομή του
- Απομόνωση μερών λειτουργικότητας
- Αλλαγή αλγορίθμου για την επίτευξη μιας διεργασίας ενός προγράμματος
- Βελτίωση της απόδοσης του προγράμματος (συνήθως όσον αφορά την ταχύτητα εκτέλεσης)
Στόχος της εργασίας είναι να γίνει μελέτη των υπαρχόντων τεχνικών αναμόρφωσης κώδικα, καθώς και να μελετηθεί η επίδραση των τεχνικών αυτών στην διαδικασία ανάπτυξης λογισμικού, με έμφαση στην μείωση του κόστους ανάπτυξης.
Πηγές
- Martin Fowler. Refactoring: Improving the Design of Existing Code (external link, opens in a new tab)
- 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, 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