Refactoring: "Επαναπαραγοντοποίηση"

Posted by Χρίστος Ευαγγέλου Sat, 25 Sep 2004 00:50:30 EEST

Μετά από συζήτηση με τον καθ. Ralph Johnson γύρω από την ετυμολογία της λέξης refactoring, διαφάνηκε ότι η λέξη παραπέμπει στην μαθηματική παραγοντοποίηση.

Άρα, η ακριβέστερη απόδοση της λέξης στα Ελληνικά είναι μάλλον επαναπαραγοντοποίηση, όπως ακριβώς εισηγείται και ο Σπινέλλης.

Η αποδόσεις μας "επανακωδικοποίηση" και "επανακατασκευή" μάλλον δεν είναι σωστές. Η πρώτη αντιστοιχεί στο recoding, και η δεύτερη στο reconstruction - δύο όροι που έχουν άλλη σημασία στον τομέα της τεχνολογίας λογισμικού.

7 comments

    Reader's Comments

  1. Η επαναπαραγοντοποίηση δεν θα ήταν refactorisation? Και γιατί "επανά" και όχι "ανά";

    -- Στέλιος Χριστοδούλου ~stelios, September 27, 2004

  2. Φίλε Στέλιο, δεν ξέρω αν υπάρχουν κάποιοι κανονισμοί που να διέπουν την μετατροπή νέων όρων από τα Αγγλικά στα Ελληνικά.

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

    Πάντως, τόσο ο Johnson, όσο και ο Fowler στο βιβλίο του (Refactoring: Improving the Design of Existing Code) δηλώνουν άγνοια για την ετυμολογία του όρου.

    Όσο για το "επανά", νομίζω ότι χρησιμοποιείται ως ένδειξη ότι δεν κάνεις κάτι ξανά από την αρχή. Από λεξικό:

    ανά: πρόθ.  συντάσσεται με αιτιατική και σημαίνει χρονική
        διάρκεια (ανά δέκα ημέρες), ή διανομή (παρατάχθηκαν ανά
        τρεις). Συνηθέστερη η χρήση της σε σύνθεση, όπου δηλώνει:
        το επάνω (ανασηκώνομαι), το πίσω (αναχωρώ - αναχώρηση),
        επανάληψη (αναβιώνω), επίταση (αναφωνώ), έκταση
        (αναδιπλώνομαι), μεταβολή

    επί: πρόθ. (επ' πριν από φωνήεν με ψιλή και εφ' πριν από
        φωνήεν με δασεία)  συντάσσεται: 1) με γενική και δηλώνει:
        τοπική στάση: επί της οδού | χρονική περίοδο κατά την
        οποία συνέβη ή συμβαίνει κάτι: επί τουρκοκρατίας | αναφορά
        | μερισμό ή αναλογία: εφ' όλης της ύλης 2) με δοτική και
        δηλώνει: την περίσταση ή την αφορμή κατά την οποία ή εξαιτίας
        της οποίας γίνεται κάτι: επ' ευκαιρία της αναχωρήσεώς του
        | το τελικό αίτιο, το σκοπό: επ' ωφελεία - επί ζημία
        | τη σχέση της αιτίας ή της αναφοράς, τον τρόπο ή τον όρο
        κατά τον οποίο γίνεται κάτι: επ' αμοιβή - επί αποδείξει 3) με
        αιτιακή και δηλώνει: διεύθυνση (προς), χρονική, τοπική ή
        ποσοτική έκταση | (μαθημ.) πολλαπλασιασμό. Ως α΄ συνθετ.
        σημαίνει: α) ότι το σημαινόμενο από το β΄ συνθετ. υπάρχει ή
        ενεργεί πάνω από κάτι ή κάποιον (επιβαίνω, επίχρυσος,
        επιτύμβιος) β) εχθρική κατεύθυνση (επιτίθεμαι, επιβουλή) γ)
        επίταση, προσθήκη (επαυξάνω, επίκτητος) δ) το υστερόχρονο
        (επιβιώνω, επίλογος)
    ε) αιτία

    -- Χρίστος Ευαγγέλου ~christose, September 29, 2004

  3. Χρίστο, μόλις είχα έμπνευση και νομίζω ότι ο πιο κατάλληλος ελληνικός όρος για το refactoring είναι ανακαίνιση. Νιώθω πολύ σίγουρος γι αυτό κι αυτό θα χρησιμοποιώ από τούδε και στο εξής!..

    -- Νεόφυτος Δημητρίου ~k2pts, October 22, 2004

  4. Μα σαν να μην πείθομαι Νεόφυτε… παρόλο που είναι πολύ πιο εύχρηστη λέξη παρά "επαναπαραγοντοποίηση"!

    Πάντως όταν ακούω "ανακαίνιση" ο νους μου πάει σε καλλωπισμό - ας πούμε στοίχιση κώδικα.

    -- Χρίστος Ευαγγέλου ~christose, October 22, 2004

  5. Αν σου δοθεί η ευκαιρία συζήτησε ξανά με τον καθηγητή σου και πες μας τη γνώμη του. Η αγγλική λέξη για την ανακαίνιση είναι reconditioning:

      To restore to good condition, especially by repairing, renovating, or rebuilding. —http://dictionary.reference.com/search?q=reconditioning

      Bring into an improved condition —http://www.cogsci.princeton.edu/cgi-bin/webwn?stage=1&word=recondition

    -- Νεόφυτος Δημητρίου ~k2pts, October 22, 2004

  6. Νεόφυτε ο καθηγητής μου λείπει αυτή την στιγμή στο OOPSLA 2004. Θα τον ρωτήσω μόλις επιστρέψει.

    -- Χρίστος Ευαγγέλου ~christose, October 25, 2004

  7. Μήπως αναδόμηση [= restructuring];

    -- Νεόφυτος Δημητρίου ~k2pts, December 21, 2004