Wie oft Sie Pseudo-Code in der realen Welt verwenden?

stimmen
9

Zurück in der Schule, nur die Verwendung von Pseudo-Code wurde mehr als OOP in meinem Lehrplan evangelisiert. Genau wie (und andere gepredigt ‚best practices‘) zu kommentieren, fand ich, dass psuedocode in Crunch Zeit wurde oft vernachlässigt. Also meine Frage ist ... wer es tatsächlich verbraucht viel Zeit? Oder nur Sie es verwenden, wenn ein Algorithmus wirklich hart ist vollständig in Ihrem Kopf zu konzipieren? Ich habe Interesse an Antworten von allen: nass hinter den Ohren Junior-Entwickler Tierärzte ergrauten, die um zurück in den Lochkarten Tagen waren.

Was ich persönlich nur, ich vor allem für die schwierigen Sachen verwenden.

Veröffentlicht am 11/12/2008 um 19:53
quelle vom benutzer
In anderen Sprachen...                            


14 antworten

stimmen
5

Ich benutze Pseudo-Code, wenn sie von einem Computer entfernt und nur Papier und Stift haben. Es macht nicht viel Sinn, über Syntax für Code zu kümmern, die nicht kompiliert werden (kann Papier nicht kompilieren).

Beantwortet am 11/12/2008 um 19:58
quelle vom benutzer

stimmen
15

Ich benutze es die ganze Zeit. Jedes Mal, ich habe eine Design-Entscheidung zu erklären, werde ich es verwenden. Im Gespräch mit nicht-technischen Personal, werde ich es verwenden. Es hat eine Anwendung nicht nur für die Programmierung, sondern zu erklären, wie etwas getan wird.

Zusammen mit einem Team auf mehreren Plattformen (Java-Frontend mit einem COBOL-Backend, in diesem Fall) ist es viel einfacher zu erklären, wie ein Stück Code funktioniert Pseudo-Code verwenden, als es wirklich ist Code zu erhalten.

Während Entwurfsphase ist Pseudo-Code besonders nützlich, da es hilft Ihnen, die Lösung zu sehen und ob oder nicht, es ist machbar. Ich habe einige Entwürfe zu sehen, die sehr elegant aussahen, nur zu versuchen, sie zu implementieren und zu erkennen, ich konnte nicht einmal Pseudo-Code generieren. Es stellte sich heraus, hatte der Designer hat nie versucht, um eine theoretische Einführung zu denken. Hätte er versucht, einige Pseudo-Code darstellt, seine Lösung zu schreiben, ich hätte nie hatte 2 Wochen zu verschwenden, um herauszufinden, warum ich es nicht arbeiten konnte.

Beantwortet am 11/12/2008 um 19:59
quelle vom benutzer

stimmen
1

verwenden sie meist für nutting wirklich komplexen Code aus, oder bei der Erläuterung Code entweder auf andere Entwickler oder nicht-Entwickler, die das System verstehen.

Ich fließen auch Diagramme oder uml Art Diagramme, wenn oben auch versuchen zu tun ...

Beantwortet am 11/12/2008 um 20:00
quelle vom benutzer

stimmen
1

Ich benutze es in der Regel, wenn mehrere, wenn andere Aussagen zu entwickeln, die verschachtelt sind, die verwirrend sein kann.

Auf diese Weise muss ich es nicht zurückgehen und dokumentieren seit seiner bereits geschehen.

Beantwortet am 11/12/2008 um 20:02
quelle vom benutzer

stimmen
1

Ziemlich selten, obwohl ich dokumentieren oft ein Verfahren vor dem Körper zu schreiben.

Wenn ich jedoch einen anderen Entwickler mit helfe, wie ein Problem zu nähern, wird ich oft eine E-Mail mit einer Pseudo-Code-Lösung schreiben.

Beantwortet am 11/12/2008 um 20:02
quelle vom benutzer

stimmen
5

Ich kann es fast immer heute verwenden, wenn alle nicht-trivialen Routinen zu schaffen. Ich schaffe den Pseudo-Code als Kommentare und weiter ausbauen, bis ich auf den Punkt, dass ich den entsprechenden Code darunter nur schreiben kann. Ich habe dies deutlich die Entwicklung beschleunigt gefunden, reduziert das „schreiben Sie einfach Code“ Syndrom, die oft Neufassungen für Dinge verlangt, die ursprünglich nicht in Betracht gezogen wurden, wie es Sie zwingt, durch den gesamten Prozess zu denken, bevor du für tatsächlichen Code und dient als gute Basis zu schreiben Code-Dokumentation, nachdem es geschrieben wird.

Beantwortet am 11/12/2008 um 20:02
quelle vom benutzer

stimmen
1

Ich habe keine Pseudo-Code überhaupt. Ich bin noch komfortabler mit der Syntax von C-Stil Sprachen als ich mit Pseudocode bin.

Was ich zu tun ist ziemlich häufig für Design-Zwecke im Wesentlichen eine funktionelle Zersetzung Art der Codierung.

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

Welche, in einer idealen Welt würde sie schließlich in Arbeits Code als Methoden immer mehr trivial worden. Doch im wirklichen Leben gibt es eine verdammt viel von Refactoring und ein Umdenken des Designs.

Das finden wir gut genug funktionieren, wie selten wir über einen Algorithmus kommen, die beide sind: unglaublich komplex und schwer zu codieren und nicht besser gelöst UML oder andere Modellierungstechnik.

Beantwortet am 11/12/2008 um 20:03
quelle vom benutzer

stimmen
2

Wenn ich etwas komplex bin ausarbeitet, ich benutze es viel, aber ich benutze es als Kommentare. Zum Beispiel werde ich das Verfahren Stub, und ich denke, setze in jedem Schritt, den ich tun müssen. Als ich den Code dann schreiben, werde ich die Kommentare hinterlassen: es sagt, was ich tun wollte.

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;
Beantwortet am 11/12/2008 um 20:05
quelle vom benutzer

stimmen
2

Ich habe noch nie, nicht einmal, notwendig, um den Pseudo-Code eines Programm zu schreiben, bevor es zu schreiben.

Jedoch gelegentlich habe ich Pseudo - Code zu schreiben , habe nach dem Schreiben von Code, die in der Regel geschieht , wenn ich versuche , die High-Level - Umsetzung eines Programm zu beschreiben , jemanden dazu zu bringen mit neuem Code in kürzester Zeit zu beschleunigen. Und mit „High-Level - Implementierung“, meine ich eine Zeile von Pseudo - Code beschreibt 50 oder so Zeilen C #, zum Beispiel:

Core-Dumps eine Reihe von XML-Dateien in einen Ordner und führt die process.exe
  ausführbare Datei mit ein paar Kommandozeilenparameter.

Die process.exe liest jede Datei
    Jede Datei wird Zeile für Zeile gelesen
    Einzigartige Worte aus der Datei in einer Datenbank gespeichert gezogen
    Datei wird gelöscht, wenn seine endgültige Verarbeitung

Diese Art von Pseudo-Code ist gut genug, um rund 1000 Zeilen Code zu beschreiben, und gut genug, um genau einen Neuling zu informieren, was das Programm eigentlich tut.

Bei vielen Gelegenheiten, wenn ich weiß nicht, wie ein Problem zu lösen, eigentlich finde ich mich meine Module auf einem Whiteboard in sehr hohem Niveau Begriff zeichnet ein klares Bild davon, wie ihr Interacting zu bekommen, einen Prototyp eines Datenbank-Schemas zeichnen, zeichnet eine Datenstruktur (vor allem Bäume, Graphen, Arrays, usw.) einen guten Griff zu bekommen, wie es zu durchqueren und Verfahren usw.

Beantwortet am 11/12/2008 um 20:11
quelle vom benutzer

stimmen
1

Ich habe nie oder es verwendet verwenden.

Ich versuche immer, in einer realen Sprache bis zum Prototyp, wenn ich etwas komplexer tun muß, in der Regel Unit-Tests writting zuerst um herauszufinden, was der Code tun muss.

Beantwortet am 11/12/2008 um 20:14
quelle vom benutzer

stimmen
3

Ich und die anderen Entwickler in meinem Team es die ganze Zeit. In E-Mail, Whiteboard, oder einfach nur in confersation. Psuedocode ist tought Ihnen helfen, denken, wie Sie brauchen, programmieren zu können. Wenn Sie wirklich unstand psuedocode können Sie auf fast jeder Programmiersprache fangen auf, weil der größte Unterschied zwischen ihnen allen Syntax ist.

Beantwortet am 11/12/2008 um 20:18
quelle vom benutzer

stimmen
2

Ich benutze es, wenn Konzepte zu erklären. Es hilft, die unnötigen Bits von Sprache zu trimmen, so dass die Beispiele nur die Details haben relevant für die Frage gestellt wird.

Ich benutze es eine ganze Menge auf Stackoverflow.

Beantwortet am 11/12/2008 um 20:22
quelle vom benutzer

stimmen
2

Ich benutze Pseudo-Code nicht, wie es in der Schule gelehrt wird, und hat nicht in einer sehr langen Zeit.

Ich mache Englisch Beschreibungen von Algorithmen verwenden, wenn die Logik komplex genug ist, um es zu rechtfertigen; sie sind „Kommentare“ genannt. ;-)

wenn die Dinge, andere zu erklären, oder Dinge auf Papier arbeiten, verwenden Sie i Diagramme so viel wie möglich - je einfacher, desto besser

Beantwortet am 11/12/2008 um 20:52
quelle vom benutzer

stimmen
2

Steve McConnel des Code Complete , in seinem Kapitel 9, „Der Pseudocode Programmierung Process“ schlägt einen interessanten Ansatz: Wenn eine Funktion mehr als ein paar Zeilen zu schreiben, verwenden Sie einfach Pseudo - Code (in Form von Kommentaren) zu umreißen , was die Funktion / Verfahren muss tun , bevor der eigentliche Code schreiben, der es tut. Die Pseudo - Code Kommentare können dann aktuelle Kommentare in dem Körper der Funktion worden.

Ich neige dazu, dies für jede Funktion zu verwenden, die mehr als das tut, was schnell durch einen Blick auf einer Bildschirmseite (max) von Code verstanden werden kann. Es funktioniert besonders gut, wenn Sie bereits verwendet werden, um Ihre Funktionskörper in Code „Absätze“ zu trennen - Einheiten semantisch verwandten Code durch eine Leerzeile getrennt. Dann wird die „Pseudo-Code Kommentare“ Arbeit wie „Header“ auf diesen Absätzen.

PS: Einige Leute mögen argumentieren , dass „Sie sollten nicht , was sagen, aber warum, und nur , wenn es nicht trivial für einen Leser zu verstehen , wer die die betreffende Sprache kennt Sie besser als“ . Ich stimme im Allgemeinen mit diesem, aber ich eine Ausnahme für die PPP machen. Die Kriterien für das Vorhandensein und die Form eines Kommentars sollen nicht in Stein gemeißelt, aber letztlich regiert wiese, gut durchdachte Anwendung von gesundem Menschenverstand ohnehin. Wenn Sie sich weigern , finden eine leichte Neigung zu einer subjektiven „Regel“ zu versuchen , nur um davon, müssen Sie möglicherweise einen Schritt zurück und erkennen , wenn Sie es nicht kritisch genug gegenüber .

Beantwortet am 31/08/2011 um 03:33
quelle vom benutzer

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