Alithinos Δημοσ. 24 Φεβρουαρίου 2017 Μέλος Δημοσ. 24 Φεβρουαρίου 2017 Tests γράφεις; Εννοείς να γράφω κλάσεις για unit testing ? Όχι δεν έχω γράψει... Κάθε τι που φτιάχνω το τεστάρω σε game mode / run time παρακολουθώντας την in-game συμπεριφορά, και κοιτώντας το Log της Debug Console, καθώς και κάτι πίνακες με τιμές μεταβλητών. Unit testing Dependency Injection Inversion of Control Interfaces Abstract Classes Για αρχή. Μετά, με την εμπειρία, θα μάθεις πιό advanced τεχνικές και θα καταλαβαίνεις μόνος σου τι πρόβλημα μπορεί να προκύψει αργότερα. Επίσης, κάνε μικρές μεθόδους, μη γράφεις μία ρουτίνα με 1000 γραμμές, μόνο προβλήματα θα σου προκαλεί. https://msdn.microsoft.com/en-us/library/aa260844(v=vs.60).aspx Μου έδωσες αρκετές έννοιες να ψάξω να μάθω. Ευχαριστώ.
masteripper Δημοσ. 24 Φεβρουαρίου 2017 Δημοσ. 24 Φεβρουαρίου 2017 έχει κάνει αρκετά καλή εντύπωση ο "θείος" Martin. Εκτος απο τον "θείο" Martin δες και τον "θειο" Steve & "Donald" 1
pmav99 Δημοσ. 24 Φεβρουαρίου 2017 Δημοσ. 24 Φεβρουαρίου 2017 Το σύμπτωμα που αναφέρεις (κάνω κάτι, σπάω κάτι άλλο) είναι τυπική περίπτωση έλλειψης tests. Με τα tests τουλάχιστον μπορείς να ξέρεις άμεσα πότε κάτι που έκανες σπάει τον κώδικά σου (με την προϋπόθεση ότι έχεις σχετικά καλό code coverage). To να τεστάρεις στο runtime είναι error-prone και time-consuming. 2
defacer Δημοσ. 24 Φεβρουαρίου 2017 Δημοσ. 24 Φεβρουαρίου 2017 Η ποιότητα του κώδικα πώς μετριέται ακριβώς? όσο πιό απλός είναι και όσο πιό δύσκολα προβλήματα λύνει είναι και πιό "έξυπνος" αρα πιό ποιοτικός? ή όσο πιο λίγη μνήμη χρησιμοποιείς τόσο πιό ποιοτικός είναι? Η ποιότητα του κώδικα στη γενική περίπτωση (που ισχύει και εδώ) "μετριέται" βάσει του κόπου που χρειάζεται για να κάνεις επιτυχώς μια επιθυμητή αλλαγή.
pmav99 Δημοσ. 24 Φεβρουαρίου 2017 Δημοσ. 24 Φεβρουαρίου 2017 @kostaszabos Η ποιότητα του trolling πως μετριέται. Ποιο είναι το κατάλληλο metric;
Alithinos Δημοσ. 25 Φεβρουαρίου 2017 Μέλος Δημοσ. 25 Φεβρουαρίου 2017 Πολύ καλός ο θείος Bob. Αποφάσισα να αρχίσω να εφαρμόζω τις αρχές του SOLID από δω και πέρα. Και μόνο με λίγα που έμαθα σε τόσο λίγο χρόνο έφταναν για να περάσω τις προηγούμενες 3 ώρες κάνοντας ένα refactor, για να εφαρμόσω όσα έμαθα και να 'καθαρίσω' το κωδικά μου κατά ένα ποσοστό. Για την ιστορία κάνω κάτι σε στυλ RPG. Διαχώρισα από μια κλάση που είχα τα χαρακτηριστικά του παίκτη με attributes του τύπου (Strength, Constitution κτλπ) από τους αλγόριθμους που τα παίρνουν και βάση αυτών υπολογίζουν πιο χαμηλού επιπέδου / layer πληροφορίες [πχ attackFactor = 0.6f + (strength * 0.44f)] σε δύο διαφορετικές, μια CharacterSheet και μια GameRules, στις μεθόδους που είχα πολλές σειρές (max μέτρησα 47 σε μια) τις έσπασα σε μικρότερες μεθόδους, έφτιαξα καινούριες για να αποφεύγω το duplicate code... Και ήδη η δουλειά στο project έχει γίνει πολύ πιο άνετη. Αναρωτιέμαι αν αφού διαβάσω ολόκληρο το βιβλίο και τα εφαρμόζω αυτά συνέχεια, πόσο περισσότερο θα βελτιωθεί η καθ' αυτή εμπειρία της συγγραφής. Ευχαριστώ όλους για τις συμβουλές σας! 2
defacer Δημοσ. 25 Φεβρουαρίου 2017 Δημοσ. 25 Φεβρουαρίου 2017 Θα βελτιωθεί άπειρα. Έχε μόνο υπόψη σου πως και αυτά που κάνεις τώρα δεν είναι το holy grail που δεν υπάρχει τίποτα άλλο πέρα από αυτό, δεν υπάρχει σκονάκι για να κάνεις το σωστό, πολλά από αυτά που νομίζεις ότι καταλαβαίνεις και σε οδηγούν σε σωστά πράγματα δεν τα καταλαβαίνεις πιθανότατα (open-closed principle κλασικό παράδειγμα). Όλα αυτά έρχονται με την εμπειρία. Αλλά το σημαντικότερο είναι πως η εμπειρία έρχεται με την ενασχόληση και την πάλη με αληθινά προβλήματα. Οπότε συνέχισε αυτό που κάνεις, και μη σταματάς να αμφισβητείς οτιδήποτε έχεις συγκεκριμένο λόγο να πιστεύεις ότι δεν είναι σωστό. Νομίζεις πως θα έπρεπε κάτι να γίνει αλλιώς για καλύτερα; Δοκίμασε να το κάνεις αλλιώς και δες πού θα σε οδηγήσει. Την σήμερον με το git (εννοείται χρησιμοποιείς έτσι?) είναι πολύ πολύ εύκολο. Καλή συνέχεια! 1
egoeimai1 Δημοσ. 25 Φεβρουαρίου 2017 Δημοσ. 25 Φεβρουαρίου 2017 Η λύση στο πρόβλημά σου, λέγεται Design Patterns Site: κλικ 1
Ilias95 Δημοσ. 26 Φεβρουαρίου 2017 Δημοσ. 26 Φεβρουαρίου 2017 Η λύση στο πρόβλημά σου, λέγεται Design Patterns Site: κλικ Offtopic, αλλά μιας που πόσταρες αυτό το βιβλίο, καμία γρήγορη σύγκριση με το GoF και γιατί προτείνεις αυτό;
egoeimai1 Δημοσ. 26 Φεβρουαρίου 2017 Δημοσ. 26 Φεβρουαρίου 2017 Offtopic, αλλά μιας που πόσταρες αυτό το βιβλίο, καμία γρήγορη σύγκριση με το GoF και γιατί προτείνεις αυτό; Όλη η ανάλυση βασίζεται σε υπαρκτά και συνηθισμένα παραδείγματα της καθημερινότητάς σου και αναλύει περισσότερα Patterns και όχι μόνο τα βασικά.
Alithinos Δημοσ. 27 Φεβρουαρίου 2017 Μέλος Δημοσ. 27 Φεβρουαρίου 2017 Θα βελτιωθεί άπειρα. Έχε μόνο υπόψη σου πως και αυτά που κάνεις τώρα δεν είναι το holy grail που δεν υπάρχει τίποτα άλλο πέρα από αυτό, δεν υπάρχει σκονάκι για να κάνεις το σωστό, πολλά από αυτά που νομίζεις ότι καταλαβαίνεις και σε οδηγούν σε σωστά πράγματα δεν τα καταλαβαίνεις πιθανότατα (open-closed principle κλασικό παράδειγμα). Όλα αυτά έρχονται με την εμπειρία. Αλλά το σημαντικότερο είναι πως η εμπειρία έρχεται με την ενασχόληση και την πάλη με αληθινά προβλήματα. Οπότε συνέχισε αυτό που κάνεις, και μη σταματάς να αμφισβητείς οτιδήποτε έχεις συγκεκριμένο λόγο να πιστεύεις ότι δεν είναι σωστό. Νομίζεις πως θα έπρεπε κάτι να γίνει αλλιώς για καλύτερα; Δοκίμασε να το κάνεις αλλιώς και δες πού θα σε οδηγήσει. Την σήμερον με το git (εννοείται χρησιμοποιείς έτσι?) είναι πολύ πολύ εύκολο. Καλή συνέχεια! Ευχαριστώ! Ναι το χρησιμοποιώ. Έχω εγκαταστήσει το σχετικό integration plugin στο VS και κάνω Commit από το γραφικό περιβάλλον του VS. Η λύση στο πρόβλημά σου, λέγεται Design Patterns Site: κλικ Ενδιαφέρον βιβλίο. Το έχω στο μάτι εδώ και κάποιο καιρό αλλά δε το έχω πιάσει ακόμα. Αφού τελειώσω το βιβλίο του Bob, θα είναι το επόμενο που θα πιάσω.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα