Πόσο σχεδιασμός κάνετε πριν ξεκινήσετε να κώδικα;

ψήφοι
12

Όταν ξεκινάτε ένα νέο έργο, πώς σκοπεύετε γι 'αυτό ή πόσο καιρό παίρνει;

Ψευδοκώδικας? Διαγράμματα;

Μην προσπαθήσετε να σκεφτείτε όλες τις τάξεις των προτέρων;

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

Δημοσιεύθηκε 11/06/2009 στις 22:40
πηγή χρήστη
Σε άλλες γλώσσες...                            


16 απαντήσεις

ψήφοι
11

Μια πολύ λιγότερο από ό, τι θα έπρεπε

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

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

Επεξεργασία παίρνω κυρίως σε αυτό το είδος της συνθλίψει το πληκτρολόγιο λεσχών όταν παίζει με μεγαλύτερα / συγκρότημα. Ενδιαφέρον να δούμε πόσο μακριά πάρει τα πράγματα προτού να συνειδητοποιήσετε ότι σας είναι στο κεφάλι μου γι 'αυτό είναι εντάξει »σχεδιασμού είναι 100% λανθασμένη.

Απαντήθηκε 11/06/2009 στις 22:44
πηγή χρήστη

ψήφοι
1

Εξαρτάται. Τα περισσότερα πράγματα που γράφω είναι αρκετά απλή και ένα μεγαλύτερο σχέδιο παίρνει χτίστηκε βήμα-βήμα και παρατηρώ τι εξακολουθεί να λείπει και τι είναι ήδη πλήρες. Υπήρχαν μερικά πιο τριχωτό πράγματα που απαιτούνται εκτεταμένες σχεδίαση και σκέφτηκε να πάρει δεξιά, αν και δεν έχω ακόμα ήρθε σε πολλά αρχιτεκτονικά προβλήματα που απαιτούνται έτσι (ακόμα νέος και τέτοια). Κυρίως αυτά ήταν δύσκολο αριθμητική πράγματα.

Απαντήθηκε 11/06/2009 στις 22:44
πηγή χρήστη

ψήφοι
1

Στην πρακτική μου πέρυσι, ο διευθυντής μου ήταν μια ευχάριστη έκπληξη που χρησιμοποιούνται διαγράμματα ροής για ένα πρόβλημα. Νόμιζε ότι ήταν μια χαμένη τέχνη με τους μαθητές αυτές τις μέρες. Δεν ήμουν και τόσο ευχάριστη έκπληξη ότι θεωρήθηκαν ημερομηνία.

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

Απαντήθηκε 11/06/2009 στις 22:44
πηγή χρήστη

ψήφοι
6

Μάλλον δεν είναι η καλύτερη τεχνική ... αλλά ... σκοπεύω στον κώδικα .

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

Επιπλέον, θα γράψω τις σημειώσεις λεπτομερώς «κύρια χαρακτηριστικά» και «χαρακτηριστικά μικρές / επιθυμία».

Απαντήθηκε 11/06/2009 στις 22:45
πηγή χρήστη

ψήφοι
0

Κατά τη λήψη σε ένα πρόβλημα οποιουδήποτε μεγέθους, εγώ πάντα το σχέδιο για τη σύνταξή της, τουλάχιστον δύο φορές.

Απαντήθηκε 11/06/2009 στις 22:45
πηγή χρήστη

ψήφοι
3

Όλα εξαρτώνται από το πόσο μεγάλο είναι το έργο αυτό. Μερικές φορές μπορεί να χρειαστούν μήνες για να συγκεντρώσει ακριβώς όλες τις απαιτήσεις και να ξέρετε ακριβώς τι πρέπει να κάνει.

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

Ωστόσο, αν είναι απλή κωδικοποίηση. Συνήθως απλά θα γράψω τι είναι στο μυαλό μου και να τη δοκιμάσουν.

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

Αυτή είναι η γνώμη μου.

Απαντήθηκε 11/06/2009 στις 22:46
πηγή χρήστη

ψήφοι
1

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

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

Απαντήθηκε 11/06/2009 στις 22:47
πηγή χρήστη

ψήφοι
1

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

Basicly, προσπαθήστε να πάρετε μια άποψη από ψηλά από τα προβλήματα που πρέπει να λύσουμε. Δείτε αν κάποια από τα προβλήματα είναι αρκετά μικρή ώστε να μπορείτε να τα λύσουμε και να καταλάβω τι μπορεί να χρειαστεί να επικοινωνούν με το υπόλοιπο της λύσης σας. Σκεφτείτε το σαν ένα μαύρο κουτί με ένα API για τον έξω κόσμο.

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

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

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

Απαντήθηκε 11/06/2009 στις 22:47
πηγή χρήστη

ψήφοι
1

Ανάλογα με την πολυπλοκότητα του έργου, εγώ συνήθως ξεκινούν με μαξιλάρι και χαρτί και γράψτε ένα spec, και κάποια κώδικας ψευδο της ροής ελέγχου. Στη συνέχεια, πάντα μπορώ να αναφερθώ σε αυτό, ενώ είμαι κωδικοποίησης. Θα είναι πιο εύκολο και απαιτεί λιγότερη refactoring γιατί δεν πίστευα ότι το πρόβλημα μέσα.

Απαντήθηκε 11/06/2009 στις 22:47
πηγή χρήστη

ψήφοι
1

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

Είναι πολύ σημαντικό να κατανοήσουμε τις συνολικές προσδοκίες των μερών που θα χρησιμοποιούν το λογισμικό. Όλοι όσοι συμμετέχουν στο πρόγραμμα θα πρέπει να έχουν μια κοινή κατανόηση του τι είναι να εργαστεί για - τον τρόπο που ανακοινώνονται πάει σε πολλές κατευθύνσεις.

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

Απαντήθηκε 11/06/2009 στις 22:48
πηγή χρήστη

ψήφοι
16

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

Σε γενικές γραμμές ακολουθούν την ακόλουθη δομή:

  1. Δημιουργήστε μια σύντομη, έτσι έχω ένα στόχο στο μυαλό.
  2. Εφαρμόστε ένα διάγραμμα τάξη για να κατανοήσουν τα δεδομένα που θα ασχολούνται με.
  3. Εφαρμογή όλες τις τάξεις.
  4. Σχεδιάστε ένα διάγραμμα χρήση-περίπτωση για να περιγράψει τις δραστηριότητες.
  5. Υλικό Στήριξης της disagram χρήση περίπτωση (σε μορφή HTML για webapps)
  6. Σύρμα το ικρίωμα, μέσω της εφαρμογής δοκιμές μονάδα και κτίριο για να τους περάσει.
  7. Αποφασίστε να απελευθερώσει το προϊόν για την εμπορική επιτυχία, τότε ξεχάστε τα πάντα για αυτό.
Απαντήθηκε 11/06/2009 στις 22:58
πηγή χρήστη

ψήφοι
1

Θα φτιάξω έναν καφέ και να δημιουργήσει ένα ζευγάρι σάντουιτς.

Πραγματικά εξαρτάται από το έργο. Έχω εργαστεί σε ορισμένα σχέδια στην αμυντική βιομηχανία που πήρε 2 χρόνια λεπτομερούς σχεδιασμού πριν γράψετε ούτε μία γραμμή κώδικα, και έχω κάθισε και αναδεύεται μερικές μικρές επιχειρήσεις κοινής ωφέλειας από λίγα αιτήματα σε ένα μήνυμα ηλεκτρονικού ταχυδρομείου από ένα 3D ή υφή καλλιτέχνη σε ένα ενιαίο καθιστικό με μια σακούλα κουλούρια και ένα φλιτζάνι Joe.

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

Το μόνο πράγμα που πραγματικά πρέπει να διασφαλίσουμε είναι ότι έχετε επαρκή κατανόηση του πεδίου προβλήματος. Αν όχι, οι δαπάνες το χρόνο μπροστά για να ερευνήσει μέχρι να κάνετε είναι πάντα αξίζει τον κόπο.

Απαντήθηκε 11/06/2009 στις 23:11
πηγή χρήστη

ψήφοι
3

Όταν ήμουν στο «καταρράκτη» τρόπο αντιμετώπισης των πραγμάτων θα ήθελα να γράψω αρκετές εκατοντάδες έγγραφα σελίδα εμφανίζει όλες τις λεπτομέρειες που θα μπορούσαν να αποκαλυφθούν κατά τη διάρκεια της έρευνας. Για να φτάσει σε αυτό το τεράστιο τόμο της τεκμηρίωσης θα ήθελα γενικά

  1. συναντηθούν και να χαιρετίσω όλους τους εμπλεκόμενους με το έργο
  2. να λάβει άφθονες σημειώσεις σχετικά με τις απαιτήσεις αντιληπτή
  3. δημιουργούν μεγάλες λίστες με κουκκίδες των απαιτήσεων υψηλού επιπέδου
  4. αρχίζουν να σπάσει τις απαιτήσεις υψηλού επιπέδου σε σαφώς καθορισμένες λεπτομέρειες
  5. αρχίζουν να συμπληρώσετε λογισμικού πρότυπο Απαιτήσεις Προδιαγραφές λέξη: SRS
  6. δημιουργούν πλαίσια σύρμα στο photoshop, excel, ή (το αγαπημένο μου) Balsamiq
  7. απαριθμήσω τα στοιχεία που πρέπει να συλληφθούν και να αρχίσει να οικοδομήσουμε ένα τραχύ σχήμα
  8. απαριθμήσω ταξικές δομές στη UML
  9. καθορίσει χρονοδιάγραμμα του έργου
  10. μπλα μπλα μπλα
  11. κωδικό εγγραφής
  12. Ελπίζουμε ότι αυτό που ζητείται είναι αυτό που εξακολουθεί να ήθελε όταν ο κώδικας είναι πλήρης!

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

  1. συναντηθεί με τον ιδιοκτήτη του προϊόντος που θα μαθαίνει για τα καθήκοντα που πρόκειται να κατασκευαστεί
  2. αποσυντίθενται ιστορία σε εργασίες (βασικός σχεδιασμός)
  3. ορίσετε το χρόνο σε εργασίες
  4. κάνετε κάποια πιο λεπτομερή σχεδιασμό
  5. -> δοκιμή γραφής, γράφουν κώδικα για να περάσει το τεστ, Refactor -> επιλέξτε το χορό
  6. καταδεικνύουν εργάζονται προϊόν / χαρακτηριστικό
  7. διαδικασία ξεκινήσετε από την αρχή

Πρέπει να πω ότι Agile μειώνει την ποσότητα του χρόνου που δαπανάται εγγράφων γραφής που αποσυντίθενται μόλις το Δρυς μελάνι. Ο ιδιοκτήτης του προϊόντος παίρνει για να δείτε τα αποτελέσματα σε ένα πολύ πιο γρήγορο τρόπο. Πράγμα που σημαίνει ότι θα έχετε να κρατήσει το έργο κινείται προς τη σωστή κατεύθυνση την πάροδο του χρόνου - ακόμα και αν αυτό αλλάζει κατεύθυνση με αναπτύσσουμε.

Λάβετε υπόψη ότι υπάρχει χρόνος και χώρος και για τους δύο τρόπους ανάπτυξης. Δεν θα ήθελα να οικοδομήσουμε το λογισμικό Jet χρησιμοποιώντας Agile!

Απαντήθηκε 11/06/2009 στις 23:41
πηγή χρήστη

ψήφοι
0

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

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

Τότε θα εργαστούν για το πώς να κάνουμε ό, τι απαιτείται. Για τα σχετικά μικρά προγράμματα που έχω εργαστεί και στο εξής, συνήθως σχηματίζουν στο μυαλό μου μια γενική ιδέα για το τι πρόγραμμα μου πρόκειται να μοιάσει (ποια είναι τα σημαντικά μέρη του προγράμματος και πώς αλληλεπιδρούν μεταξύ τους). Αυτό μπορεί να περιλαμβάνει αιχμές, αν δεν έχω καμία ιδέα για το πώς ένα μέρος του προγράμματος θα λειτουργήσει. Δεν νομίζω ότι αυτή η προσέγγιση (τα κάνει όλα στο μυαλό μου) θα κλιμακώσει πολύ καλά, αλλά το ερώτημα ζητούσε ό, τι μπορούμε πραγματικά να κάνουμε ...

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

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

Έχω χρησιμοποιήσει μόνο ένα διάγραμμα ροής για μία φορά για να βοηθήσει με το σχεδιασμό ενός προγράμματος - πίσω, όταν μάθαινα τη συναρμολόγηση και ήταν αρκετά νέα για τον προγραμματισμό (και ήταν χρήσιμο). Το Mythical Man-Month λέει τα εξής: «. Η λεπτομερής διάγραμμα ροής χτύπημα-από-χτύπημα, όμως, είναι μια ξεπερασμένη ενόχληση, κατάλληλο μόνο για την έναρξη αρχάριους σε αλγοριθμικής σκέψης ... Ποτέ δεν έχω δει έναν έμπειρο προγραμματιστή που συνήθως γίνεται λεπτομερής διαγράμματα ροής πριν από την έναρξη για να γράψει τα προγράμματα.»

Απαντήθηκε 12/06/2009 στις 03:51
πηγή χρήστη

ψήφοι
1

IMO σε 5 λεπτά από το σχεδιασμό μπροστά = 1 ώρα κωδικοποίησης ....

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

Το πιο σημαντικό μέρος θα πρέπει να είναι το διάγραμμα ροής.

Οι άλλες λεπτομέρειες μερικές φορές μπορεί να ληφθεί μέριμνα για τη μύγα.

Απαντήθηκε 12/06/2009 στις 04:35
πηγή χρήστη

ψήφοι
0

Εφιστώ την εκτεταμένη διαγράμματα ροής και να γράφουν κώδικα ψευδο για τις πιο πολύπλοκες λειτουργίες. Νιώθω σαν την κατάρτιση του διαγράμματος ροής μου επιτρέπει να refactor χωρίς την εισαγωγή σφάλματα κατά λάθος. Κάνοντας ένα οπτικό διάγραμμα σε χαρτί, όπως ένα διάγραμμα ροής βοηθά επίσης να καταλάβω αν η λογική μου είναι πραγματικά σωστή. Αυτό λειτουργεί μόνο πραγματικά για μικρά - μεσαία έργα, όπου τα περισσότερα από τα χαρακτηριστικά είναι γνωστά.

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

Απαντήθηκε 06/07/2011 στις 20:40
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more