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

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

Δημοσ.

Πραγματικα δεν ηξερα που αλλου να το κανω ποστ.. xDD

 

Που μπορω να βρω κουπα σαν αυτην; δεν χρειαζεται να ειναι ακριβως η ιδια.

 

post-317835-0-57932500-1464451530_thumb.jpg

Δημοσ.

Πραγματικα δεν ηξερα που αλλου να το κανω ποστ.. xDD

 

Που μπορω να βρω κουπα σαν αυτην; δεν χρειαζεται να ειναι ακριβως η ιδια.

 

attachicon.gif10305_10154327809861840_1774366520748063550_n.jpg

εδώ αλλά θα μπορούσες να την φτιάξεις και μόνο σου ρίξε μια ματιά εδώ έχει πολλά μαγαζιά τέτοια 

και στο ebay έχει πολλές τώρα για Ελλάδα ψάξε σε κάνα skroutz

Δημοσ.

Που μπορω να βρω κουπα σαν αυτην; δεν χρειαζεται να ειναι ακριβως η ιδια.

 

Είσαι λίγο άτυχος, είχα δυο παραπανίσιες τέτοιες αλλά τις έδωσα...

 

6Atdv.jpg

Επισκέπτης
Δημοσ.

Γιατι να μην ειναι C#;

 

Γιατί πρέπει να είσαι πόντιος για να χρησιμοποιήσεις var στο class instantiation.

Δημοσ.

Γιατί πρέπει να είσαι πόντιος για να χρησιμοποιήσεις var στο class instantiation.

 

Γιατί; Ίσα ίσα που όταν βγήκε το var γελούσα με τη Java κάθε φορά που δεν έγραφα

 

Dictionary<string, Func<string, Foo>> dict = new Dictionary<string, Func<string, Foo>>();

 

repeat much?

 

Δε μπορώ να φανταστώ off the top ούτε μία περίπτωση που να μη γράψει κανείς var.

  • Like 1
Δημοσ.

Γιατί πρέπει να είσαι πόντιος για να χρησιμοποιήσεις var στο class instantiation.

 

 

Υπαρχει καμια δικαιολογια πισω απο αυτην την δηλωση; Η να ειχαμε να λεγαμε; 

Επισκέπτης
Δημοσ.

Το var χρησιμοποιεί reflection στο runtime για να αποφασίσει τον τύπο της μεταβλητής. Το να το χρησιμοποιείς στη δήλωση μιας κλάσης που ήδη γνωρίζεις τον τύπο της είναι περιττό. Εκτός κι αν βαριέσαι να πληκτρολογείς. Το δε παράδειγμα που δίνει ο defacer, μέρος της πολιτικής DRY (Don't repeat yourself), επίσης το βρίσκω περιττό καθότι με το που θα γράψεις new το Intellisense θα σου πετάξει όλο τον ορισμό του generic. Αλλά εντάξει, να το δεχτώ γιατί βελτιώνει το readability και δεν χάνεις πολύτιμες πληροφορίες καθώς βλέπεις τον ορισμό του generic μετά το new. Αν όμως χρησιμοποιείς var και καλείς μια custom function και διαβάσει κάποιος άλλος τον κώδικα δεν έχει ιδέα τι επιστρέφει η function.

 

Το χειρότερο από όλα είναι να βλέπεις κώδικα τρίτου με μεταβλητές μακρυνάρια γιατί για να αντιπαρέλθει ο άλλος τη χρήση του var αναγκάζεται να γράψει στον τίτλο της μεταβλητής τι κάνει και τον τύπο. Μια η άλλη δηλαδή.

 

Προτιμώ να κρατήσω το var για εκεί που προορίζεται. Anonymous functions και LINQ.

Δημοσ.

Το var χρησιμοποιεί reflection στο runtime

 

You 've got some reading to do.

 

Αλλά και χωρίς reading, δοκίμασε

 

var s = "foo";

var d = s.lalala;

 

και σκέψου αν γίνεται να σου λέει ο compiler ότι το string δεν έχει property lalala και ταυτόχρονα να ισχύει αυτό που είπες.

 

Μήπως μπερδεύεσαι με το dynamic?

  • Like 1
Δημοσ.

 

Το χειρότερο από όλα είναι να βλέπεις κώδικα τρίτου με μεταβλητές μακρυνάρια γιατί για να αντιπαρέλθει ο άλλος τη χρήση του var αναγκάζεται να γράψει στον τίτλο της μεταβλητής τι κάνει και τον τύπο. Μια η άλλη δηλαδή.

 

 

  Δεν χρειαζεται και δεν πρεπει να γραφεις στο ονομα της μεταβλητης τον τυπο της περιγραφικα. Δεν υπαρχει ποτε λογος για νομεκλατουρα τυπου rate_double η ξερω και εγω τι αλλο. Εκτος αμα ειναι κατι του στυλ ImageStream, που ετσι και αλλιως ετσι θα το ονομαζες ανεξαρτητα αμα χρησιμοποιεις η οχι var.

 

  Γενικα το αν θα χρησιμοποιησεις η οχι var και που, καταληγει να ειναι προσωπικη σου επιλογη (εκτως αμα υπαρχουνε guidelines, που ποτε δεν εχει πεσει στην αντιληψη μου να συμβαινει κατι τετοιο) και δεν επιρρεαζει ουτε την αποδοση, ουτε την ποιοτητα του κωδικα. 

 

  Και μενα ας πουμε δεν μαρεσει να βλεπω να παραλειπεται το private, με το ζορι κρατιεμαι να μην το προσθεσω παντου στον κωδικα αλλων, αλλα αυτο δεν σημαινει οτι εχω δικαιο.

Επισκέπτης
Δημοσ.

You 've got some reading to do.

 

Αλλά και χωρίς reading, δοκίμασε

 

var s = "foo";

var d = s.lalala;

 

και σκέψου αν γίνεται να σου λέει ο compiler ότι το string δεν έχει property lalala και ταυτόχρονα να ισχύει αυτό που είπες.

 

Μήπως μπερδεύεσαι με το dynamic?

 

ΟΚ, έκανα λάθος στο συγκεκριμένο.

Δημοσ.

Είσαι λίγο άτυχος, είχα δυο παραπανίσιες τέτοιες αλλά τις έδωσα...

 

6Atdv.jpg

 

Αυτη με την stackoverflow πρεπει να την παρω. Σε ολα τα google queries κοτσαρω και ενα stackoverflow :P

  • Like 1
Δημοσ.

Αυτη με την stackoverflow πρεπει να την παρω. Σε ολα τα google queries κοτσαρω και ενα stackoverflow :P

 

να παρεις keyboard με macro keys που οταν το πατας να γραφει αυτοματα την λεξη stackoverflow  :P (δεν ξερω αν γινεται βεβαια :P)

Δημοσ.

Γιατί; Ίσα ίσα που όταν βγήκε το var γελούσα με τη Java κάθε φορά που δεν έγραφα

 

Dictionary<string, Func<string, Foo>> dict = new Dictionary<string, Func<string, Foo>>();

 

repeat much?

 

Δε μπορώ να φανταστώ off the top ούτε μία περίπτωση που να μη γράψει κανείς var.

 

[off topic]

 

Ναι ισχύει. Αλλά τη java να μην την ξανα-βρίσεις. Την Java! :P

 

Btw Πλέον έχουν ενταχθεί και στη java τέτοια κόλπα (όχι το var αλλά άλλα. Π.χ. το diamond). 

 

Και για να μην αδικούμε τη java, είναι πολύ πιο εύκολο να βάζεις νέα features με το τσουβάλι όταν έχεις fragmentation (δεν ξέρω αν είναι ο σωστός όρος αυτός) στα runtime σου παρά όταν παρέχεις συνεχώς backward compatibility.  

 

Δηλαδή "εκτελέσιμο" CLR 2 θέλει CLR 2 για να τρέχει.

Με CLR 4 δε μπορείς να το τρέξεις αν θυμάμαι καλά.

 

Ενώ αντίθετα στη java μπορείς με το τελευταίο jre να τρέξεις όποιο "εκτελέσιμο" και αντίστοιχα με το τελευταίο jdk να παράξεις byte code για όποιο jre προς τα πίσω.

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

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

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

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

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

Σύνδεση

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

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