Ουγγρική σημειογραφία: Ορισμός
Ο Ουγγρικός συμβολισμός είναι μια σύμβαση ονοματοδοσίας που χρησιμοποιείται στον προγραμματισμό υπολογιστών για να υποδεικνύει τον τύπο δεδομένων μιας μεταβλητής. Η σύμβαση επινοήθηκε από τον Charles Simonyi, έναν ουγγρικής καταγωγής μηχανικός λογισμικού ο οποίος εργαζόταν στη Microsoft Corporation τη δεκαετία του 1980. Η σημειογραφία αναπτύχθηκε αρχικά για να βοηθήσει τον Simonyi και τους συναδέλφους του να γράψουν κωδικός για τις πρώτες εκδόσεις του Microsoft Word.
Η βασική ιδέα πίσω από τον Ουγγρικό Συμβολισμό είναι να προσθέσετε ένα πρόθεμα στο όνομα μιας μεταβλητής που υποδεικνύει τον τύπο δεδομένων της. Για παράδειγμα, μια μεταβλητή που αποθηκεύει μια ακέραια τιμή μπορεί να ονομάζεται "iCount", ενώ μια μεταβλητή που αποθηκεύει μια συμβολοσειρά μπορεί να ονομάζεται "strName". Το πρόθεμα "i" υποδεικνύει ότι η μεταβλητή είναι ακέραιος αριθμός, ενώ το πρόθεμα "str" υποδεικνύει ότι η μεταβλητή είναι συμβολοσειρά.
Ενώ η Ουγγρική Σημειογραφία αναπτύχθηκε αρχικά για χρήση με τη γλώσσα προγραμματισμού C, έκτοτε έχει υιοθετηθεί από άλλες γλώσσες προγραμματισμού, συμπεριλαμβανομένης της C++, Java, και C#. Ο συμβολισμός έχει επίσης εξελιχθεί με την πάροδο του χρόνου, με διαφορετικά προθέματα να χρησιμοποιούνται για διαφορετικούς τύπους δεδομένων.
Παρά τη δημοτικότητά της, η Ουγγρική Σημειογραφία έχει επικριθεί από ορισμένους προγραμματιστές ότι είναι πολύ μακροσκελής και δημιουργεί ακαταστασία στον κώδικα. Άλλοι υποστηρίζουν ότι μπορεί να προκαλέσει σύγχυση, ειδικά όταν χρησιμοποιούνται διαφορετικά προθέματα για τον ίδιο τύπο δεδομένων σε διαφορετικά μέρη ενός προγράμματος.
Παρά τις επικρίσεις αυτές, η Ουγγρική Σημειογραφία παραμένει μια δημοφιλής σύμβαση ονοματοδοσίας σε πολλές κοινότητες προγραμματισμού. Μπορεί να είναι ιδιαίτερα χρήσιμη για μεγάλα έργα προγραμματισμού, όπου μπορεί να βοηθήσει τους προγραμματιστές να προσδιορίσουν γρήγορα τον τύπο δεδομένων μιας μεταβλητής χωρίς να χρειάζεται να ψάξουν στον κώδικα.
Συνολικά, η Ουγγρική Σημειογραφία είναι ένα χρήσιμο εργαλείο για τους προγραμματιστές που θέλουν να γράφουν σαφή, ευανάγνωστο κώδικα. Αν και μπορεί να μην είναι κατάλληλη για κάθε προγραμματισμό έργο, μπορεί να αποτελέσει πολύτιμη προσθήκη στην εργαλειοθήκη ενός προγραμματιστή.