Skip to the content.

4.5 Καλές τεχνικές προγραμματισμού

© Γιάννης Κωστάρας


< Δ >

Η συγγραφή κώδικα είναι τόσο επιστήμη όσο και τέχνη. Ένας καλός προγραμματιστής πρέπει να έχει υπόψιν του πολλές, πολλές φορές αντιδιαμετρικές, συνισταμένες ώστε να μπορέσει να γράψει ποιοτικό κώδικα.

Με τον όρο ποιοτικό κώδικα εννοούμε κώδικα που είναι:

Η δουλειά μας ως προγραμματιστές είναι να βρούμε τη χρυσή τομή σ’ όλα τα παραπάνω.

Παρακάτω παρουσιάζουμε μερικές χρήσιμες συμβουλές που θα σας βοηθήσουν να γράφετε συντηρήσιμο και αποτελεσματικό κώδικα.

Ακολουθεί μια λίστα με συνήθη προγραμματιστικά λάθη:

Αναδιοργάνωση Κώδικα (Refactoring)

Πολλές φορές συμβαίνει να θέλετε να προσθέσετε ένα νέο χαρακτηριστικό σε ένα πρόγραμμα, αλλά η δομή του προγράμματος είναι τέτοια που δεν είναι εύκολο ή εφικτό να προστεθεί αυτό το νέο χαρακτηριστικό. Σ’ αυτήν την περίπτωση, θα πρέπει πρώτα να αναδιοργανώσετε τον κώδικα ώστε να είναι ευκολότερο να εισάγετε νέα χαρακτηριστικά.

Ορισμός: Με τον όρο Αναδιοργάνωση Κώδικα (Refactoring) εννούμε μια αλλαγή στην δομή ενός προγράμματος ώστε να κάνουμε τον κώδικα πιο κατανοητό και ευκολότερο στην αλλαγή χωρίς όμως να αλλάξουμε τη συμπεριφορά του. Συνήθως, η αναδιοργάνωση κώδικα βελτιώνει την ποιότητα του κώδικα, τον καθιστά πιο κατανοητό ή/και ευκολότερο ν’ αλλάξει/επεκταθεί.

Παραδείγματα: Μετονομασία (Rename), Εξαγωγή κώδικα σε νέα μέθοδο (Extract Method), Εξαγωγή διεπαφής (Extract Interface), Μετακίνηση Μεθόδου σε Άλλη Κλάση (Move Method).

Όλα τα μοντέρνα ΟΠΕ (Integrated Development Environments - IDEs) προσφέρουν δυνατότητες refactoring. Π.χ. το NetBeans διαθέτει το μενού Refactor.

Εικόνα 4.6.1 Μενού Refactor του NetBeans

Η Rename είναι η πιο συνήθης εντολή αναδιοργάνωσης καθώς σας επιτρέπει ν’ αλλάξετε το όνομα μια μεταβλητής, μεθόδου, κλάσης κλπ. με ασφάλεια χωρίς να “σπάτε” τον κώδικα.

Δείτε εδώ για το μενού Inspect and Transform.

Πηγές

  1. Fowler M. (2019), Refactoring, Improving the Design of Existing Code, 2nd Ed., Addison-Wesley.
  2. Visser J. (2016), Building Maintainable Software, Java Edition, O’Reilly.

< Δ >