Refactoring: "Επαναπαραγοντοποίηση"
Posted by Χρίστος Ευαγγέλου Sat, 25 Sep 2004 00:50:30 EEST
Μετά από συζήτηση με τον καθ. Ralph Johnson γύρω από την ετυμολογία της λέξης refactoring, διαφάνηκε ότι η λέξη παραπέμπει στην μαθηματική παραγοντοποίηση.
Άρα, η ακριβέστερη απόδοση της λέξης στα Ελληνικά είναι μάλλον επαναπαραγοντοποίηση, όπως ακριβώς εισηγείται και ο Σπινέλλης.
Η αποδόσεις μας "επανακωδικοποίηση" και "επανακατασκευή" μάλλον δεν είναι σωστές. Η πρώτη αντιστοιχεί στο recoding, και η δεύτερη στο reconstruction - δύο όροι που έχουν άλλη σημασία στον τομέα της τεχνολογίας λογισμικού.
Reader's Comments
Η επαναπαραγοντοποίηση δεν θα ήταν refactorisation? Και γιατί "επανά" και όχι "ανά";
Φίλε Στέλιο, δεν ξέρω αν υπάρχουν κάποιοι κανονισμοί που να διέπουν την μετατροπή νέων όρων από τα Αγγλικά στα Ελληνικά.
Έχω όμως την εντύπωση (και νομίζω αυτό είναι κάτι που πρέπει να λάβουμε υπόψιν) ότι οι όροι αυτοί δεν αποτελούν επίσημα μέρος ούτε της Ελληνικής γλώσσας, ούτε της Αγγλικής. Είναι άξιο απορίας πότε ένας όρος αρχίζει να θεωρείται ως μέρος μιας γλώσσας.
Πάντως, τόσο ο Johnson, όσο και ο Fowler στο βιβλίο του (Refactoring: Improving the Design of Existing Code) δηλώνουν άγνοια για την ετυμολογία του όρου.
Όσο για το "επανά", νομίζω ότι χρησιμοποιείται ως ένδειξη ότι δεν κάνεις κάτι ξανά από την αρχή. Από λεξικό:
διάρκεια (ανά δέκα ημέρες), ή διανομή (παρατάχθηκαν ανά
τρεις). Συνηθέστερη η χρήση της σε σύνθεση, όπου δηλώνει:
το επάνω (ανασηκώνομαι), το πίσω (αναχωρώ - αναχώρηση),
επανάληψη (αναβιώνω), επίταση (αναφωνώ), έκταση
(αναδιπλώνομαι), μεταβολή
επί: πρόθ. (επ' πριν από φωνήεν με ψιλή και εφ' πριν από
φωνήεν με δασεία) συντάσσεται: 1) με γενική και δηλώνει:
τοπική στάση: επί της οδού | χρονική περίοδο κατά την
οποία συνέβη ή συμβαίνει κάτι: επί τουρκοκρατίας | αναφορά
| μερισμό ή αναλογία: εφ' όλης της ύλης 2) με δοτική και
δηλώνει: την περίσταση ή την αφορμή κατά την οποία ή εξαιτίας
της οποίας γίνεται κάτι: επ' ευκαιρία της αναχωρήσεώς του
| το τελικό αίτιο, το σκοπό: επ' ωφελεία - επί ζημία
| τη σχέση της αιτίας ή της αναφοράς, τον τρόπο ή τον όρο
κατά τον οποίο γίνεται κάτι: επ' αμοιβή - επί αποδείξει 3) με
αιτιακή και δηλώνει: διεύθυνση (προς), χρονική, τοπική ή
ποσοτική έκταση | (μαθημ.) πολλαπλασιασμό. Ως α΄ συνθετ.
σημαίνει: α) ότι το σημαινόμενο από το β΄ συνθετ. υπάρχει ή
ενεργεί πάνω από κάτι ή κάποιον (επιβαίνω, επίχρυσος,
επιτύμβιος) β) εχθρική κατεύθυνση (επιτίθεμαι, επιβουλή) γ)
επίταση, προσθήκη (επαυξάνω, επίκτητος) δ) το υστερόχρονο
(επιβιώνω, επίλογος) ε) αιτία
Χρίστο, μόλις είχα έμπνευση και νομίζω ότι ο πιο κατάλληλος ελληνικός όρος για το refactoring είναι ανακαίνιση. Νιώθω πολύ σίγουρος γι αυτό κι αυτό θα χρησιμοποιώ από τούδε και στο εξής!..
Μα σαν να μην πείθομαι Νεόφυτε… παρόλο που είναι πολύ πιο εύχρηστη λέξη παρά "επαναπαραγοντοποίηση"!
Πάντως όταν ακούω "ανακαίνιση" ο νους μου πάει σε καλλωπισμό - ας πούμε στοίχιση κώδικα.
Αν σου δοθεί η ευκαιρία συζήτησε ξανά με τον καθηγητή σου και πες μας τη γνώμη του. Η αγγλική λέξη για την ανακαίνιση είναι reconditioning:
Bring into an improved condition —http://www.cogsci.princeton.edu/cgi-bin/webwn?stage=1&word=recondition
Νεόφυτε ο καθηγητής μου λείπει αυτή την στιγμή στο OOPSLA 2004. Θα τον ρωτήσω μόλις επιστρέψει.
Μήπως αναδόμηση [= restructuring];