02 March 2008

Σχολιασμός επί ορολογίας

Πρόταση για την ελληνική απόδοση του όρου refactoring

1. Ορισμoί της έννοιας (code) «refactoring»

1.1 refactoring


<object-oriented, programming> Improving a computer program by reorganising its internal structure without altering its external behaviour.

When software developers add new features to a program, the code degrades because the original program was not designed with the extra features in mind.

This problem could be solved by either rewriting the existing code or working around the problems which arise when adding the new features. Redesigning a program is extra work, but not doing so would create a program which is more complicated than it needs to be. Refactoring is a collection of techniques which have been designed to provide an alternative to the two situations mentioned above.

The techniques enable programmers to restructure code so that the design of a program is clearer. It also allows programmers to extract reusable components, streamline a program, and make additions to the program easier to implement.

Refactoring is usually done by renaming methods, moving fields from one class to another and moving code into a separate method.

Although it is done using small and simple steps, refactoring a program will vastly improve its design and structure, making it easier to maintain and leading to more robust code.

"Refactoring, Reuse & Reality" by Bill Opdyke.

"Refactoring, a first example" by Martin Fowler.

(2001-05-02)

http://foldoc.org/index.cgi?query=refactoring&action=Search

1.2 Refactoring is basically the object-oriented variant of restructuring [Mens+Tourwe2004-ssr,p126] "The process of changing a system in such a way that it does not alter the external behavior of the code, yet improves its internal structure." [Fowler+Beck+1999-ride]

www.isr.uci.edu/~alspaugh/glossary.html

1.3 to refactor

  1. (computing) To re-write existing source code in order to improve its readability or structure without affecting its meaning or behaviour

The code works, but I must refactor it before it is production quality.

Retrieved from "http://en.wiktionary.org/wiki/refactor"

2. Ορολογική ανάλυση της λέξης refactoring ως σύμπλοκου όρου

re-factoring = determining component – Determined component (dD) =
προσδιορίζον συνθετικόΠροσδιοριζόμενο συνθετικό (πΠ)

Ανάλυση των συνθετικών

re = εκ νέου, πάλι, ξανά

factor {ουσιαστικό} = παράγοντας (αυτός που παράγει) ή συντελεστής (αυτός που συντελεί) (το δεύτερο είναι είδια έννοια του γένους coefficient)

factor {ρήμα} = συντελώ, είμαι παράγοντας, καθορίζω παράγοντα ή παράγοντες και (μαθηματικά) αναλύω σε παράγοντες (συνώνυμο: factorize)

factoring = ρηματικό ουσιαστικό (γερούνδιο) του ρήματος factor

Ώστε και χωρίς καμιά αναφορά στη συγκεκριμένη έννοια «(code) refactoring» που ορίζουν οι ορισμοί της παραγράφου 1 ο αγγλικός όρος refactoring ήδη μας οδηγεί στην έννοια «επανακαθορισμός παραγόντων». Με άλλα λόγια στη συγκεκριμένη πλέον έννοια έχουμε κατά κάποιο τρόπομε διάφορους τρόπους) «επανακαθορισμό των παραγόντων ενός κώδικα» με σκοπό τη βελτίωσή του κτλ. κτλ. σύμφωνα με τους ορισμούς που αναφέρονται στην παράγραφο 1.

3. Εξέταση εξεύρεσης ελληνικού όρου αποτελούμενου από ήδη υπάρχουσα λέξη ή λέξεις, π.χ. με «οροποίηση» λέξης της γενικής γλώσσας ή με διαθεματικό δανεισμό (δανεισμό από άλλο θεματικό πεδίο)

Η «οροποίηση» γνωστής λέξης της ελληνικής γλώσσας αποτελεί σύμβαση που θα πρέπει να μην οδηγεί σε άλλη έννοια μέσα στο ίδιο θεματικό πεδίο πληροφορική. Παρακάτω παρατίθεται ένα πίνακας με λέξεις που θα μπορούσαν να επιλεγούν και να οροποιηθούν για να αποδώσουν την έννοια «refactoring». Δίπλα από καθεμιά από αυτές δίνεται η αντίστοιχή της αγγλική που χρησιμοποιείται ήδη είτε στο ίδιο πεδίο (πληροφορική) είτε στο συγγενές πεδίο (τηλεπικοινωνίες) είτε στο ευρύτερο πεδίο (ηλεκτρονική) [1].

αναδιάταξη

reordering

αναδιάρθρωση

reconfiguration, restructuring

αναδόμηση

restructuring, reconstruction

ανακατασκευή

reconstruction

αναμόρφωση

reform, reformation

(επ)αναδιευθέτηση

rearrangement

αναγωγή

reduction

(επ)ανασύνταξη

redrafting

(επ)ανασχεδιασμός

redesign, replan

επαναμηχανίκευση

reengineering

(επ)αναδημιουργία

remaking

(επ)αναδιατύπωση

reformulation

επαναμορφοτύπηση

reformatting

(επ)αναδιαμόρφωση

remodulation

επανασυναρμολόγηση

reassembling

επανα(συγ)γραφή

rewriting, reauthoring

επανασυνδυασμός

recombination

ανασύνθεση

recomposition, reconstitution

ανασχηματισμός

reshaping

επαναμορφοποίηση

reshaping

Κατά τον προτείνοντα, καμιά από τις παραπάνω λέξεις δεν μπορεί να χρησιμοποιηθεί κατά σύμβαση (δηλ. να οροποιηθεί) για να αποδοθεί η έννοια «(code) refactoring» χωρίς να δημιουργηθεί πρόβλημα αμφισημίας με όρους που χρησιμοποιούν ήδη τις παραπάνω αντιστοιχίες· όταν, μάλιστα, πολλές από αυτές – όπως οι αναδιάταξη, αναδόμηση, αναδιάρθωση, αναμόρφωση – κυριολεκτικά εξεταζόμενες θα κάλυπταν επιμέρους διεργασίες της έννοιας «(code) refactoring» και όχι το σύνολό της.


4. Πρόταση ελληνικού νεολογισμού

Σε περιπτώσεις όπως η προκείμενη, ενδείκνυται ο νεολογισμός. Δηλαδή μια σύμβαση τέτοιου τύπου που να μην προκαλεί σύγχυση με ήδη υπάρχουσες και ονοματοδοτημένες έννοιες. Θεωρώντας ότι κατά την διεργασία (code) refactoring επανακαθορίζονται (τίθενται εκ νέου, με διαφορετικό τρόπο, μορφή ή όνομα) διάφοροι παράγοντες/συντελεστές του κώδικα, θα χρησιμοποιήσουμε την πρόθεση ανά-[2] το ουσιαστικό παράγοντας και το ρήμα θέτω (με την οξύτονη παραλλαγή του: -θετώ):

refactor {ρήμα μεταβατικό}

ανα-παραγοντο-θετώ

refactored {παθ. μετοχή}

αναπαραγοντοθετημένος

refactoring {γερούνδιο}

αναπαραγοντοθέτηση {ενέργεια}

refactorable {επίθετο}

αναπαραγοντοθετήσιμος

refactorability {ουσιαστικό}

αναπαραγοντοθετησιμότητα

refactorship {ουσιαστικό}

αναπαραγοντοθεσία {κατάσταση}


5. Απόφαση της Ομάδας ΕΛΟΤ/ΤΕ48/ΟΕ1

Συζητείται η πρόταση του ΚΒ και συμπληρώνεται ως εξής:

refactor {ρήμα μεταβατικό}

αναπαραγοντοθετώ, επανακαθορίζω παράγοντες

refactored {παθ. μετοχή}

αναπαραγοντοθετημένος, με επανακαθορισμένους παράγοντες

refactoring {γερούνδιο}

αναπαραγοντοθέτηση, επανακαθορισμός παραγόντων {ενέργεια}

refactorable {επίθετο}

αναπαραγοντοθετήσιμος, με δυνατότητα επανακαθορισμού παραγόντων

refactorability {ουσιαστικό}

αναπαραγοντοθετησιμότητα, δυνατότητα επανακαθορισμού παραγόντων

refactorship {ουσιαστικό}

αναπαραγοντοθεσία, επανακαθορισμός παραγόντων {κατάσταση}


6. Ψηφοφορία μεταξύ των μελών της ΕΛΕΤΟ

Καλούνται τα μέλη της ΕΛΕΤΟ, να ψηφίσουν βάσει του ακόλουθου πίνακα:

  • είτε αφήνοντας και τις δύο προτεινόμενες αποδόσεις στις στήλες 2 και 3
  • είτε αφήνοντας μία από τις προτεινόμενες αποδόσεις και σβήνοντας την άλλη
  • είτε κάνοντας ενδεχομένως άλλη πρόταση με την απαραίτητη τεκμηρίωση.

Αγγλικός όρος

1η ελληνική απόδοση

2η ελληνική απόδοση

Σχόλιο ή άλλη πρόταση με την δέουσα τεκμηρίωση

refactor

αναπαραγοντοθετώ

επανακαθορίζω παράγοντες


refactored

αναπαραγοντοθετημένος

με επανακαθορισμένους παράγοντες


refactoring

αναπαραγοντοθέτηση

επανακαθορισμός παραγόντων {ενέργεια}


refactorable

αναπαραγοντοθετήσιμος

με δυνατότητα επανακαθορισμού παραγόντων


refactorability

αναπαραγοντοθετησιμότητα

δυνατότητα επανακαθορισμού παραγόντων


refactorship

αναπαραγοντοθεσία

επανακαθορισμός παραγόντων {κατάσταση}



Με το παρόν μήνυμα η ΕΛΕΤΟ εφαρμόζει τη διαδικασία της κρίσης μεταξύ των μελών της με ηλεκτρονική κυκλοφόρηση υποψήφιων ελληνικών όρων στα μέλη της, ώστε να έχει τα σχόλια και /ή τις προτάσεις εκείνων των μελών που έχουν αιτιολογημένη άποψη, λόγω της σχέσης τους με το εκάστοτε θεματικό πεδίο και/ή τις συγκεκριμένες έννοιες. Οι απόψεις-προτάσεις που θα συλλέγονται θα συνεκτιμώνται κατά την εξέταση των όρων από το ΓΕΣΥ, ώστε οι προτάσεις του ΓΕΣΥ να εκφράζουν και μια ευρύτερη συναίνεση των μελών της ΕΛΕΤΟ.

Σας παρακαλώ πολύ, όσοι θα απαντήσετε συμπληρώστε τον πίνακα της παραγράφου 6 του συνημμένου εγγράφου της Ομάδας ΤΕ48/ΟΕ1 -συλλογικού μέλους της ΕΛΕΤΟ- και επιστέψτε είτε ολόκληρο το έγγραφο είτε μόνο τον πίνακα.

K.Bαλεοντής, valeonti@otenet.gr



[1] Στα μαθηματικά έχει νόημα η επαναπαραγοντοποίηση ως: εκ νέου παραγοντοποίηση

[2] Θα μπορούσε να χρησιμοποιηθεί ισοδύναμα και το διπλομόριο επανα- αλλά δεν το προτείνουμε για λόγους γλωσσικής οικονομίας (είναι κατά μία συλλαβή μεγαλύτερο)