Papakaliati Δημοσ. 17 Φεβρουαρίου 2015 Δημοσ. 17 Φεβρουαρίου 2015 Σχετικά με αυτή τη λογική(άσχετα με τον κώδικα του op, γενική η ερώτηση): πόσο συχνό θα έλεγες ότι είναι το να μην ξέρεις απο πριν αν το 3 μπορει στο μέλλον να χρειαστεί να γίνει 4, 5, 100, n; Αν ξέρεις από πριν ότι μιλάμε για 3 και ποτέ δεν θα χρειαστούμε παραπάνω(που εγώ νομίζω ότι τις περισσότερες φορές θα μπορεις να το κρίνεις, αλλά μπορει να κάνω και λαθος για αυτό ρωτάω), τότε δεν θα είναι χάσιμο χρόνου να φτιαχτεί μια γενική λύση; Δεν θα μεινει ποτε 3, στην πορεια θα αλλαξει. Οποιος εχει δουλεψει εστω και λιγες μερες σαν προγραμματιστης το ξερει. Και επισης σχεδον παντα η γενικη λυση θα ειναι πιο elegant .
PavlaraS18 Δημοσ. 17 Φεβρουαρίου 2015 Δημοσ. 17 Φεβρουαρίου 2015 Να ρωτήσω κι εγώ με την σειρά μου μιας και είμαι αρχάριος. Αν όριζε μόνος του την τιμή α ως μιν και έκανε ελέγχους με if (ουσιαστικά ένα if και ένα else if) δεν θα έβρισκε το μικρότερο ? Έτσι θα του μέναν δύο αριθμοί κι θα έκανε άλλον έλεγχο γι μαξ . Ο τελευταίος αριθμός είναι ο mid. Υ.Γ. οι αριθμοί θα μειόνονταν κάθε φορά που έβρισκε το μιν ή το μαξ μιας και θα μπορούσε να κρατάει μια μέταβλητή εξτρα με το ποιος ειναι (χαρακτήρα , πρωτος - δευτερος - τρίτος) Υ.Γ.2. Αναφέρομαι χωρίς συνάρτηση προφανώς!
Ilias95 Δημοσ. 18 Φεβρουαρίου 2015 Δημοσ. 18 Φεβρουαρίου 2015 Αρκούν 3 έλεγχοι με if, χωρίς else. first, second, third = [int(input()) for i in range(3)] if first > second: first, second = second, first if second > third: second, third = third, second if first > second: first, second = second, first print(first, second, third) Πάντως δεν είναι απίθανο ο καθηγητής να ζήτησε να γίνει μόνο με if-else.
gon1332 Δημοσ. 18 Φεβρουαρίου 2015 Δημοσ. 18 Φεβρουαρίου 2015 Πάντως δεν είναι απίθανο ο καθηγητής να ζήτησε να γίνει μόνο με if-else. Και είναι λογικό για πρώτο έτος. Μαθαίνουν προγραμματισμό και όχι κάποια γλώσσα προγραμματισμού. Μπορεί όμως ο καθηγητής να τα ήθελε σε συναρτήσεις. Όχι όμως αναγκαστηκά γενικά. Αφού σου λέει για 3, τότε για 3 θα το κάνεις. Τέλος.
ZAKKWYLDE Δημοσ. 28 Ιουνίου 2015 Δημοσ. 28 Ιουνίου 2015 Όταν φτιάχνεις ένα πρόγραμμα θα πρέπει να το φτιάχνεις να παίζει είτε για 2 αριθμούς είτε για 1000 και να είναι σχετικά optimized. Αν το μάθημα ήταν εισαγωγή στον προγραμματισμό και ήταν μόλις το 3ο ενδεχομένως να έπαιρνε ένα 5/10. Όπως και να έχει δέξου αυτή τη βαθμολόγηση σαν ένα μάθημα και δες πως μπορείς να βελτιωθείς σαν προγραμματιστής. Τα 3/10 σε ασκησούλες στη σχολή είναι ανώδυνα, χρησιμοποίησέ τα προς όφελός σου για να μην παίρνεις αργότερα 3/10 στη δουλειά το οποίο πονάει πολύ.
Vector2D Δημοσ. 28 Ιουνίου 2015 Δημοσ. 28 Ιουνίου 2015 9/10 Όταν φτιάχνεις ένα πρόγραμμα θα πρέπει να το φτιάχνεις να παίζει είτε για 2 αριθμούς είτε για 1000 και να είναι σχετικά optimized. Αν το μάθημα ήταν εισαγωγή στον προγραμματισμό και ήταν μόλις το 3ο ενδεχομένως να έπαιρνε ένα 5/10. Όπως και να έχει δέξου αυτή τη βαθμολόγηση σαν ένα μάθημα και δες πως μπορείς να βελτιωθείς σαν προγραμματιστής. Τα 3/10 σε ασκησούλες στη σχολή είναι ανώδυνα, χρησιμοποίησέ τα προς όφελός σου για να μην παίρνεις αργότερα 3/10 στη δουλειά το οποίο πονάει πολύ. Αυτή η αντίληψη πρέπει να σταματήσει. Αν σε δουλειές που σου αναθέτουν κοιτάς να κάνεις γενικά πράγματα (μήπως χρειαστεί στην κοινωνία) τότε το' χασες το παιχνίδι. Το μόνο που θα καταφέρεις είναι να αργείς/χάνεις χρόνο για κάτι που δεν έχει νοήμα. Στο λέω εγώ που πάντα κοίταγα το ποιο βέλτιστο και να έχει χρήση και αλλού. Είναι κουραστικό και δεν έχει νόημα. Τώρα αν μιλάμε για βιβλιοθήκες γενικού σκοπού ή κάτι στον ελεύθερο σου χρόνο (όχι εργασία δηλαδή), τότε συμφωνώ!
Moderators Kercyn Δημοσ. 28 Ιουνίου 2015 Moderators Δημοσ. 28 Ιουνίου 2015 9/10 Αυτή η αντίληψη πρέπει να σταματήσει. Αν σε δουλειές που σου αναθέτουν κοιτάς να κάνεις γενικά πράγματα (μήπως χρειαστεί στην κοινωνία) τότε το' χασες το παιχνίδι. Το μόνο που θα καταφέρεις είναι να αργείς/χάνεις χρόνο για κάτι που δεν έχει νοήμα. Στο λέω εγώ που πάντα κοίταγα το ποιο βέλτιστο και να έχει χρήση και αλλού. Είναι κουραστικό και δεν έχει νόημα. Τώρα αν μιλάμε για βιβλιοθήκες γενικού σκοπού ή κάτι στον ελεύθερο σου χρόνο (όχι εργασία δηλαδή), τότε συμφωνώ! Καλή τύχη αν αλλάξουν ελάχιστα οι αρχικές προδιαγραφές. Αν δεν προβλέψεις ότι αυτό που γράφεις τώρα αύριο μπορεί να αλλάξει τότε θα το ξαναγράφεις απ' την αρχή με την παραμικρή αλλαγή. 1
Vector2D Δημοσ. 28 Ιουνίου 2015 Δημοσ. 28 Ιουνίου 2015 Καλή τύχη αν αλλάξουν ελάχιστα οι αρχικές προδιαγραφές. Αν δεν προβλέψεις ότι αυτό που γράφεις τώρα αύριο μπορεί να αλλάξει τότε θα το ξαναγράφεις απ' την αρχή με την παραμικρή αλλαγή. Μιλάω για πράγματαπου φτιάχνεις για έναν πελάτη. Αν φτιάχνεις εφαρμογές γενικού σκοπού (που το δίνεις σε αρκετούς), τότε ναι... μαζί σου. Πχ: σε μια Ιστοσελίδα μιας εταιρείας που σου έχει ζητήσει κάποιο Web App, θα κοιτούσες να χάσεις τον χρόνο σου κάνοντάς το επεκτασιμο; μα! 1-2-3 πράγματα θέλουμε! δεν θα υπάρξουν αλλαγές.
Moderators Kercyn Δημοσ. 28 Ιουνίου 2015 Moderators Δημοσ. 28 Ιουνίου 2015 Αυτό το "δεν θα υπάρξουν αλλαγές" δυσκολεύομαι να το πιστέψω. Δεν είπα όταν σου ζητάνε να φτιάξεις κάτι να κοιτάς να το κάνεις γενικού σκοπού. Αυτό που λέω είναι ότι όταν φτιάχνεις κάτι κοιτάς να είναι επεκτάσιμο σε λογικό βαθμό.
defacer Δημοσ. 28 Ιουνίου 2015 Δημοσ. 28 Ιουνίου 2015 Αυτή η αντίληψη πρέπει να σταματήσει. Αν σε δουλειές που σου αναθέτουν κοιτάς να κάνεις γενικά πράγματα (μήπως χρειαστεί στην κοινωνία) τότε το' χασες το παιχνίδι. Το μόνο που θα καταφέρεις είναι να αργείς/χάνεις χρόνο για κάτι που δεν έχει νοήμα. Συμφωνώ ότι το YAGNI θέλει προσοχή αλλά νομίζω ότι στην πράξη έχεις θέσει τα πάντα σε λάθος βάση. Πρώτα απ' όλα, το να γράψεις κώδικα που π.χ. να ταξινομεί μια άγνωστου μεγέθους λίστα δεν είναι YAGNI. Αντιθέτως το να γράψεις κώδικα που ταξινομεί μια συγκεκριμένου μεγέθους λίστα και μόνο είναι άχρηστο, εκτός ίσως (και το λέω καθαρά από φαντασία χωρίς να ξέρω) αν κάνεις κάτι αφόρητα στοχευμένο και έχεις ήδη δοκιμάσει τα πάντα (π.χ. αν γράφεις κώδικα για distributed simulation που έχει συγκεκριμένο μοντέλο και είσαι στο inner loop -- γενικά σενάρια scifi). Πχ: σε μια Ιστοσελίδα μιας εταιρείας που σου έχει ζητήσει κάποιο Web App, θα κοιτούσες να χάσεις τον χρόνο σου κάνοντάς το επεκτασιμο; μα! 1-2-3 πράγματα θέλουμε! δεν θα υπάρξουν αλλαγές. Καμία σχέση αυτό το παράδειγμα μ' αυτό που συζητάμε στο συγκεκριμένο thread.
ZAKKWYLDE Δημοσ. 28 Ιουνίου 2015 Δημοσ. 28 Ιουνίου 2015 Μιλάω για πράγματαπου φτιάχνεις για έναν πελάτη. Αν φτιάχνεις εφαρμογές γενικού σκοπού (που το δίνεις σε αρκετούς), τότε ναι... μαζί σου. Πχ: σε μια Ιστοσελίδα μιας εταιρείας που σου έχει ζητήσει κάποιο Web App, θα κοιτούσες να χάσεις τον χρόνο σου κάνοντάς το επεκτασιμο; μα! 1-2-3 πράγματα θέλουμε! δεν θα υπάρξουν αλλαγές. Μάλλον δεν θα έχεις γράψει για πάρα πολλούς πελάτες, γιατί για μένα είναι συχνό φαινόμενο να αλλάζουν οι προδιαγραφές κάθε εβδομάδα. Ας υπάρχουν απο πίσω Request for Proposal, Proposal, σύμβαση, Functional Analysis κτλ. Δεν σε σώζει τίποτα. Ο ίδιος ο πελάτης προφανώς θα σου ζητήσει 5 πράγματα, αλλά πάντα θέλει το πρόγραμμά του να είναι επεκτάσιμο (σε λογικό βαθμό φυσικά). Τα applications εχουν ποιοτικό έλεγχο (δεν είναι βλάκες συνήθως αυτοί που τους παραδίδεις). Αν είσαι εσύ που πρέπει να κάνεις την επέκταση...θα τρέχεις να μαζεύεις τα ασυμάζευτα που έχεις κάνει. Τώρα αν είναι το σουβλατζίδικο του μπαρμπα-μήτσου που θέλει μια σελίδα να δείχνει τα πιτόγυρα ναι μαζί σου.
visualizer Δημοσ. 29 Ιουνίου 2015 Δημοσ. 29 Ιουνίου 2015 Γιατί δεν ρωτάς τον καθηγητή σου εφόσον δεν είσαι ικανοποιημένος με το βαθμό που σου έβαλε ; Γενικά να ξέρεις ότι το ότι δουλεύει κάτι δεν σημαίνει ότι είναι και σωστό παίζει ρόλο και ο τρόπος που λύνεται ένα πρόβλημα , κατά πόσο είναι επεκτάσιμο ( δηλαδή να μπορείς να βάλεις περισσότερους αριθμούς στην περίπτωση σου) , να ειναι ευανάγνωστος ο κώδικας και ο σχεδιασμός .Λογικά στην συγκεκριμένη περίπτωση ο καθηγητής σου θεωρεισαι πως ο τρόπος που έλυσες το πρόβλημα δεν είναι ικανοποιητικός με βάση τα όσα έχεις διδαχτεί.. φυσικά υπάρχουν και μαλάκες καθηγητές που περιμένουν τον ουρανό με τα άστρα .Όπως είπα και πριν κάτσε και ζήτα από τον καθηγητή να σου εξηγήσει γιατί σου έβαλε αυτόν τον βαθμό , εδώ ο καθένας έχει την δική του άποψη αλλά αυτό που μετράει είναι αυτό που θα σου πει ο καθηγητής σου.
NTC Labs Δημοσ. 29 Ιουνίου 2015 Δημοσ. 29 Ιουνίου 2015 9/10 Αυτή η αντίληψη πρέπει να σταματήσει. Αν σε δουλειές που σου αναθέτουν κοιτάς να κάνεις γενικά πράγματα (μήπως χρειαστεί στην κοινωνία) τότε το' χασες το παιχνίδι. Το μόνο που θα καταφέρεις είναι να αργείς/χάνεις χρόνο για κάτι που δεν έχει νοήμα. Στο λέω εγώ που πάντα κοίταγα το ποιο βέλτιστο και να έχει χρήση και αλλού. Είναι κουραστικό και δεν έχει νόημα. Τώρα αν μιλάμε για βιβλιοθήκες γενικού σκοπού ή κάτι στον ελεύθερο σου χρόνο (όχι εργασία δηλαδή), τότε συμφωνώ! Μέγα λάθος. Πόσα project έχεις αναλάβει σαν freelancer με εξωτερικό (δεν αναφέρομαι στους ανίδεους έλληνες πελάτες σαν του τύπου που περιγράφει ο γνωστός Ζαχαρίας)? Σε αυτές τις περιπτώσεις οτιδήποτε γενικό φτιάχνεις σου γλυτώνει και χρόνο και χρήμα στο επόμενο project. Δεύτερον όταν σκέφτεται πως θα μπορύσε να βελτιώσει τον δικό του κώδικα , αυτό του δίνει γνώση και εμπειρία.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα