Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

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

Παράδειγμα για μας, θα ήταν να έχεις ένα Array και να πεις pinakas[ ] κλπ κλπ. Εννοείται ότι υπάρχει δίπλα σχολιασμός στα αγγλικά και επίσης δεν έχεις κανένα κώδικα "σπαγγέτι", που θα ψάχνεται ο άλλος να βρει που χρησιμοποιείται ο pinakas και να δει τι ακριβώς είναι ο pinakas αφού θα έχει ξεχάσει. Μιλάω για μικρές μεθόδους 5-15 γραμμών το πολύ. Θα το διαβάσει και θα καταλάβει ή θα την κάνει με ελαφρά;

 

Δημοσ.

Αν εξηγήσεις τι είναι ο pinakas [] δεν νομίζω να την κάνει. Σίγουρα όμως θα διευκόλύνεις κάποιον όταν χρησιμοποιείς αγγλικά στις μεταβλητές σου και θέλεις να το κάνεις. Αυτός που θέλει να σε βοηθήσει ή θα το κάνει επειδή είναι πολύ ενδιαφέρουσα η ερώτηση σου ή επειδή ξέρει ήδη να την απαντήσει και για να ξέρει πρέπει να καταλάβει.

 

Γενικά όμως οι μεταβλητές πρέπει να είναι γραμμένες στα αγγλικά. Σήμερα φτιάχνεις μία κλάση, την ανεβάζεις στο GitHub, αρέσει σε κάποιον Γάλλο που θέλει να την εξελίξει λιγάκι και  την εγκαταλείπει γιατί απλά δεν μπορεί να βγάλει άκρη. Έτσι η δουλειά σου δεν θα εξελιχθεί και πιθανών θα πάει χαμένη

Δημοσ.

Εάν η μεταβλητή ονομαστεί pinakas και αυτό είναι ΟΚ, τότε δεν έχει και πολύ σημασία ούτε η μεταβλητή ούτε και το όνομά της. 

Επισκέπτης
Δημοσ.
12 ώρες πριν, Lanike71 είπε

Μιλάω για μικρές μεθόδους 5-15 γραμμών το πολύ. Θα το διαβάσει και θα καταλάβει ή θα την κάνει με ελαφρά;

Εξαρτάται από την ποιότητα του ίδιου του αναγνώστη. Αν είναι κάποιος που καταλαβαίνει θα συνεχίσει, αν δεν καταλαβαίνει θα σταματήσει.

:)

Δημοσ.

Θα μου εκανε ασχημη εντυπωση. Ειδικα αν προκειται για κωδικα που παραθετει καποιος με σκοπο να το διαβασουν ανθρωποι αλλης γλωσσας.

Αλλα ακομα και σε δικα μου πραγματα, αποφευγω τα greeklish για λογους αισθητικης αλλα και απο συνηθεια. Μια χαρα ειναι οι αγγλικες ονομασιες.

  • Like 1
Δημοσ.

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

Το τι αντιπροσωπευεί φαίνεται από το όλο statement var omades = ["ΠΑΟΚ", "ΑΕΚ" ] όλοι καταλαβαίνουν ότι είναι array με 2 στοιχεία.

Μπορεί να έχει όνομα από τη μητρική γλώσσα ή και την ορολογία var csbi  αντί για var console_screen_ buffer_info και εννοείται ότι δεν παίζει κανέναν απολύτως ρόλο και ούτε χρειάζεται να είναι κατανοητό από τον καθένα.

Οπότε για να απαντήσω είναι τελείως νορμαλ να χρησιμοποιεί κάποιος τη μητρική γλώσσα ή και συγκεκριμένη ορολογία στις μεταβλητές.

  • Like 1
Δημοσ. (επεξεργασμένο)

Για να γίνω πιο συγκεκριμένος, δε μιλάω ας πούμε για απλές μεταβλητές τύπου sum, πχ που βλέπεις μέσα σε μεθόδους διαδικασίες όπως

int sum = 0;

calculate( ); // Do some stuff

return sum;

Εκεί είναι πασιφανές για το sum, είτε το πεις soumma είτε athroisma. Μιλάω για καταστάσεις, ας πούμε, που έχεις ένα array από checkboxes και κάθε checkbox αντιπροσωπεύει μία ενέργεια που επιδρά πάνω σε ένα αντικείμενο τύπου Δωμάτιο.

Αν δεν ορίσω μία κλάση ως Room, αλλά ως Domatio, o Έλληνας που θα διαβάσει τον κώδικα είναι 100% σίγουρο ότι θα αντιληφθεί τι κάνει το Δωμάτιο (να είναι κλεισμένο-ελεύθερο, μεγάλο-μικρό ) πολύ γρηγορότερα απ' ότι ο μη Έλληνας.Ο ξένος θα το έχει ως μία αφηρημένη έννοια και συνέχεια θα ανατρέχει στις ιδιότητες της κλάσης, κάτι που ίσως δεν είναι και τόσο καλό για αυτόν που έγραψε τον κώδικα...Δεν ξέρω, ίσως μιλάω με τα δικά μου μέτρα-σταθμά που διαβάζω κώδικα. Κάποιος άλλος μπορεί να το κάνει με πολύ μεγαλύτερη ευχέρεια.

Επεξ/σία από Lanike71
Δημοσ.

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

Και όταν πεις room.getAvailability() και οχι object83209.action8847() πάλι δηλώνεις μια πρόθεση σχετικά οριοθετημένη. 

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

Αν ναι, κάποια στιγμή θα συνειδητοποιήσει ότι ο κώδικας είναι για να επικοινωνούν οι προγραμματιστές μεταξύ τους και μόνο.

  • Like 2
Δημοσ.
<script>
	function δείξεΜήνυμα(){
  		var μήνυμα = "Το Μήνυμα"
		console.log(μήνυμα);
	}
	δείξεΜήνυμα();
</script>

ο κώδικας στην παράθεση λειτουργεί μια χαρά σε javascript. Και φυσικά μπορείς να χρησιμοποιήσεις ονόματα στην μητρική σου γλώσσα με κάθε compiler/interpreter που υποστηρίζει utf8. Κάτι τέτοιο σε περιορίζει βέβαια μιας και κάνει τον κωδικό αναγνώσιμο μόνο σε αυτούς που κατέχουν την μητρική σου γλώσσα.

  • Moderators
Δημοσ.

Εμένα μου κακοφαίνεται πολύ, και γιατί κάνει τον κώδικα πιο δυσανάγνωστο και γιατί δείχνει ότι αυτός που ρωτάει δεν έκανε καν τον κόπο να αλλάξει τα ονόματα στα Αγγλικά που είναι δουλειά μισού λεπτού.

Δημοσ.

Εξαρτάτε από το αν θέλεις να είναι αναγνώσιμος ο κωδικός από ένα πλατύ κοινό ή όχι. Προσωπικά χρησιμοποιώ και ποντιακές λέξεις γραμμένες σε Hiragana/Katakana όταν δεν με ενδιαφέρει η αναγνωσιμότητα του κωδικού.

Δημοσ. (επεξεργασμένο)
On 13/07/2018 at 21:35, Lanike71 said:

θα ήθελα να ρωτήσω πόσο αρνητικό αντίκτυπο έχει κάτι τέτοιο, όταν κάποιος προσπαθεί να το διαβάσει

ΘΑΝΑΤΟΣ 😄

On 14/07/2018 at 10:54, tony_dim_2018 said:

Εξαρτάται από την ποιότητα του ίδιου του αναγνώστη. Αν είναι κάποιος που καταλαβαίνει θα συνεχίσει, αν δεν καταλαβαίνει θα σταματήσει.

:)

Έχω δουλέψει με κώδικα γραμμένο στα γερμανικά, στα γαλλικά, και στα κινέζικα. Να το δοκιμάσεις κάποια στιγμή.

Επεξ/σία από defacer
Δημοσ.

Εμένα προσωπικά μου γυρίζουν τα άντερα όταν βλέπω τέτοιο στυλ προγραμματισμού...πολύ πολύ σπάνια γράφω κάτι σε greeklish ....MONO όταν είναι όρος που δεν μπορεί να αποδοθεί μονολεκτικά στα Αγγλικά...

Μία φορά που αναγκάστηκα να δουλέψω με κώδικα με Ελληνικά αναγκαστικά τον εκτύπωσα για να βγαλω άκρη

Επισκέπτης
Δημοσ.
2 ώρες πριν, defacer είπε

Έχω δουλέψει με κώδικα γραμμένο στα γερμανικά, στα γαλλικά, και στα κινέζικα. Να το δοκιμάσεις κάποια στιγμή.

Σ' ευχαριστώ, θα το δοκιμάσω!

:)

Δημοσ.

Λάθος προγραμματιστικά ΔΕΝ είναι, αλλά είναι πολύ δυσχρηστο, ειδικά αν εμπλέκονται και άλλοι με διαφορετική γλωσσομάθεια.

Ενα αντιστοιχο παραδειγμα για να καταλάβεις ειναι το όνομα κάποιου. Αν πχ σε λένε Ευστάθιο ή Αναξίμανδρο, εντός ελλάδος, μια χαρά θα ζω την πραγματικότητα σου. Αντε όμως στη Γερμανία, τη Ρωσσία, τη Βραζιλία, την Ταϊλάνδη, κλπ και προσπάθησε να συνεννοηθείς με κάποια υπηρεσία.  Για 5 λεπτά δουλειά, θα φάτε 40 λεπτά μονο για το συλλαβισμό του ονοματος. Αμα όμως σε λένε Jo, Nou, γενικά κάτι μικρό ή απλό ... δε θα σκαλώσεις ποτέ.

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

Απο την άλλη είναι και ένας τρόπος να "ζορίσεις" τους ημιμαθείς αντιγραφείς να καταλάβουν τον κώδικα (π.χ. σε javascript). Οι έμπειροι βέβαια άκρη θα βγάλουν οτι κι αν κάνεις. 

Εμένα το χειρότερο μου ειναι το commenting του κώδικα να ειναι σε άγνωστη γλώσσα. Είχα δουλεψει ένα ολλανδικό προγραμμα και έφτυσα αίμα για να κατανοήσω το commenting  

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...