Πόσο συχνά χρησιμοποιείτε ψευδοκώδικα στον πραγματικό κόσμο;

ψήφοι
9

Πίσω στο κολέγιο, μόνο η χρήση του κωδικού ψευδο ήταν Ευαγγελισθέντες περισσότερο από OOP στο πρόγραμμα σπουδών μου. Ακριβώς όπως και σχολιάζοντας (και άλλα κήρυξε «βέλτιστες πρακτικές»), διαπίστωσα ότι στο χρόνο κρίσιμη στιγμή psuedocode συχνά παραμελούνται. Έτσι, η ερώτησή μου είναι ... ποιος το χρησιμοποιεί στην πραγματικότητα πολύ από το χρόνο; Ή μήπως να το χρησιμοποιήσετε μόνο όταν ένας αλγόριθμος είναι πολύ δύσκολο να συλλάβουμε εξ ολοκλήρου στο κεφάλι σου; Ενδιαφέρομαι για απαντήσεις από όλους: υγρό πίσω από τα αυτιά κατώτερο προγραμματιστές να σταξτύ κτηνιάτρους που ήταν γύρω από πίσω στις ημέρες της κάρτας γροθιά.

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

Δημοσιεύθηκε 11/12/2008 στις 19:53
πηγή χρήστη
Σε άλλες γλώσσες...                            


14 απαντήσεις

ψήφοι
5

Χρησιμοποιώ pseudocode όταν είστε μακριά από τον υπολογιστή και να έχουν μόνο χαρτί και στυλό. Δεν έχει και πολύ νόημα να ανησυχείτε για σύνταξη κώδικα που δεν θα συγκεντρώνουν (δεν μπορεί να καταρτίσει το χαρτί).

Απαντήθηκε 11/12/2008 στις 19:58
πηγή χρήστη

ψήφοι
15

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

Δουλεύοντας με μια ομάδα σε πολλαπλές πλατφόρμες (Java front-end με ένα backend COBOL, σε αυτή την περίπτωση) είναι πολύ πιο εύκολο να εξηγηθεί πώς ένα κομμάτι του κώδικα λειτουργεί με τη χρήση ψευδοκώδικα ό, τι είναι να δείξει πραγματικό κώδικα.

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

Απαντήθηκε 11/12/2008 στις 19:59
πηγή χρήστη

ψήφοι
1

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

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

Απαντήθηκε 11/12/2008 στις 20:00
πηγή χρήστη

ψήφοι
1

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

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

Απαντήθηκε 11/12/2008 στις 20:02
πηγή χρήστη

ψήφοι
1

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

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

Απαντήθηκε 11/12/2008 στις 20:02
πηγή χρήστη

ψήφοι
5

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

Απαντήθηκε 11/12/2008 στις 20:02
πηγή χρήστη

ψήφοι
1

Δεν χρησιμοποιώ ψευδοκώδικα καθόλου. Είμαι πιο άνετα με τη σύνταξη της C γλώσσες στυλ από ό, τι είμαι με ψευδοκώδικα.

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

public void doBigJob( params )
{
    doTask1( params);
    doTask2( params);
    doTask3( params);
}
private void doTask1( params)
{
    doSubTask1_1(params);
    ...
}

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

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

Απαντήθηκε 11/12/2008 στις 20:03
πηγή χρήστη

ψήφοι
2

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

procedure GetTextFromValidIndex (input int indexValue, output string textValue)
// initialize
// check to see if indexValue is within the acceptable range
//    get min, max from db
//    if indexValuenot between min and max
//       then return with an error
// find corresponding text in db based on indexValue
// return textValue
   return "Not Written";
end procedure;
Απαντήθηκε 11/12/2008 στις 20:05
πηγή χρήστη

ψήφοι
2

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

Ωστόσο, μερικές φορές είχα να γράψω ψευδοκώδικα μετά τη σύνταξη κώδικα, το οποίο συνήθως συμβαίνει όταν προσπαθώ να περιγράψει την εφαρμογή υψηλού επιπέδου ενός προγράμματος για να πάρει κάποιος μέχρι την ταχύτητα με το νέο κώδικα σε σύντομο χρονικό διάστημα. Και με την «εφαρμογή υψηλού επιπέδου», εννοώ μια γραμμή ψευδοκώδικα περιγράφει 50 περίπου γραμμές της C #, για παράδειγμα:

Πυρήνα χωματερές μια δέσμη των αρχείων XML σε ένα φάκελο και να τρέχει το process.exe
  εκτελέσιμο με μερικές παραμέτρους γραμμής εντολών.

Η process.exe διαβάζει κάθε αρχείο
    Κάθε αρχείο διαβάζεται γραμμή προς γραμμή
    Οι μοναδικές λέξεις τράβηξε έξω από το αρχείο που είναι αποθηκευμένο σε μια βάση δεδομένων
    Αρχείο διαγράφεται όταν τελειώσει την επεξεργασία της

Αυτό το είδος της ψευδοκώδικα είναι αρκετά καλό για να περιγράψει περίπου 1000 γραμμές κώδικα, και αρκετά για να ενημερώσουν με ακρίβεια ένα newbie ό, τι είναι στην πραγματικότητα κάνει το πρόγραμμα καλό.

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

Απαντήθηκε 11/12/2008 στις 20:11
πηγή χρήστη

ψήφοι
1

Ποτέ δεν χρησιμοποιούν ή χρησιμοποιούσαν.

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

Απαντήθηκε 11/12/2008 στις 20:14
πηγή χρήστη

ψήφοι
3

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

Απαντήθηκε 11/12/2008 στις 20:18
πηγή χρήστη

ψήφοι
2

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

Θεωρώ ότι είναι ένα δίκαιο ποσό για StackOverflow χρήση.

Απαντήθηκε 11/12/2008 στις 20:22
πηγή χρήστη

ψήφοι
2

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

Κάνω χρήση αγγλικά περιγραφές των αλγορίθμων, όταν η λογική είναι αρκετά περίπλοκη για να δικαιολογήσουν? από όπου και αν ονομάζεται «σχόλια». ;-)

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

Απαντήθηκε 11/12/2008 στις 20:52
πηγή χρήστη

ψήφοι
2

Steve McConnel του κώδικα Πλήρης , στο κεφάλαιο της 9, «Ο προγραμματισμός Διαδικασία Ψευδοκώδικα» προτείνει μια ενδιαφέρουσα προσέγγιση: όταν γράφετε μια λειτουργία περισσότερο από μερικές γραμμές, χρησιμοποιήστε απλά ψευδοκώδικα (με τη μορφή σχολίων) για να περιγράψει το τι / διαδικασία που χρειάζεται για τη λειτουργία κάνει πριν γράψετε το πραγματικό κωδικό που το κάνει. Τα σχόλια pseudocode μπορούν στη συνέχεια να γίνει πραγματικό σχόλια στο σώμα της συνάρτησης.

Έχω την τάση να χρησιμοποιούν αυτό για κάθε λειτουργία που κάνει περισσότερα από ό, τι μπορεί γρήγορα να γίνει κατανοητό από την εξέταση ενός screenful (max) του κώδικα. Λειτουργεί ειδικά και αν είστε ήδη χρησιμοποιείται για να διαχωρίσει το σώμα σας λειτουργία στον κώδικα «σημεία» - μονάδες σημασιολογικά σχετικές κώδικα που χωρίζονται από μια κενή γραμμή. Στη συνέχεια, η «ψευδοκώδικα σχόλια» έργο σαν «headers» σε αυτές τις παραγράφους.

PS: Μερικοί άνθρωποι μπορεί να ισχυρίζονται ότι «δεν πρέπει να σχολιάσω αυτό, αλλά γιατί, και μόνο όταν δεν είναι ασήμαντο για να καταλάβουμε για έναν αναγνώστη που γνωρίζει τη γλώσσα στην ερώτηση καλύτερα τότε» . Εγώ γενικά συμφωνώ με αυτό, αλλά εγώ κάνω μια εξαίρεση για το PPP. Τα κριτήρια για την παρουσία και τη μορφή ενός σχολίου δεν θα πρέπει να οριστεί σε πέτρα, αλλά τελικά διέπεται από σοφό, καλά μελετημένη εφαρμογή της κοινής λογικής ούτως ή άλλως. Αν βρείτε τον εαυτό σας αρνείται να δοκιμάσει μια μικρή κλίση προς μια υποκειμενική «κανόνα» μόνο για χάρη του, μπορεί να χρειαστεί να κάνουν ένα βήμα πίσω και να συνειδητοποιήσει αν δεν το αντιμετωπίζουν αρκετά αυστηρά.

Απαντήθηκε 31/08/2011 στις 03:33
πηγή χρήστη

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