Flussdiagramme modellieren grundsätzlich nur drei Dinge: sequentielle Ausführung, Bedingungen und GOTO-Anweisungen. Während die ersten beiden für das Verständnis von entscheidender Bedeutung sind, wird die letzte nicht einmal für moderne Programmiersprachen verwendet und wird in den meisten Anwendungen als schlechte Form angesehen. Während es also wahrscheinlich einige Probleme gibt, die mit Flussdiagrammen gut modelliert sind, ist die Verwendung von Flussdiagrammen für die meisten Programme eine gute Möglichkeit, ein schlechtes Design zu erstellen.
Lassen Sie uns einige Beispiele durchgehen, um dies zu verdeutlichen. Berücksichtigen Sie, dass Flussdiagramme nur Modellschleifen als Kombination aus einer bedingten und einer GOTO-Bedingung wieder an den Anfang der Schleife stellen. Dies ist eine sinnvolle Möglichkeit, eine while-Schleife zu modellieren, abgesehen von der Tatsache, dass Sie aus der while-Schleife springen können, um zu einem beliebigen Codeteil zu gelangen. Das macht es auch zu einer bescheidenen Annäherung an einen C-Stil für eine Schleife. Das Ausdrücken von For-Each-Schleifen oder der zu C ++ 11 hinzugefügten Ranging-For-Schleifen ist jedoch nicht gut. Diese Schleifen sind von Natur aus sicherer, und ihre Verwendung in modernen Sprachen wird empfohlen. Aus diesem Grund lehrt das Ablaufdiagramm schlechte Praktiken und ermöglicht es Ihnen, Code mit einer solchen schlechten Struktur zu entwerfen, die in modernen Programmiersprachen nicht einmal zulässig wäre.
Es gibt auch die Tatsache, dass Flussdiagramme nicht gut in der Modellierung von Funktionen oder Funktionsaufrufen sind. Problemzerlegung durch Funktionen / Methoden ist einer der grundlegendsten Aspekte der Problemlösung in modernen Sprachen. Alles, was nicht so gut modellieren kann, ist ernsthaft gefährdet.
- Warum möchten Sie als Softwareentwickler in den Bankensektor eintreten?
- Was ist ein Softwarehaus?
- Welche Programme schlagen Sie für den MS in Informatik oder den MS in Software Engineering vor?
- Würden Sie sich als Entwickler für einen Samsung CHG90 (49 ") oder LG 38UC99 (38") Monitor entscheiden und warum?
- Was sind die Vorteile von Redis gegenüber einer Hash-Tabelle?
Hinzu kommt, dass selbst strukturierte Programmierung nicht mehr die allgemeine Norm ist. Die Objektorientierung hat in den 1990er Jahren Einzug gehalten und die Funktionalität macht heute bedeutende Fortschritte. Flussdiagramme modellieren keine Objekte und da sie Funktionen nicht gut modellieren können, wie werden Sie sie verwenden, um Funktionen höherer Ordnung zu beschreiben?
Das Fazit ist, dass es sich bestenfalls um ein veraltetes Werkzeug handelt, das in der modernen Programmierung nur minimal eingesetzt werden kann. Weitaus ernster ist die Tatsache, dass sie aufgrund ihrer Funktionsweise schlechte Techniken und die Erstellung von Spaghetti-Code fördern.
Update: Basierend auf einer Diskussion in den Kommentaren füge ich das folgende Flussdiagramm hinzu. Es ist ein vollkommen fröhliches Flussdiagramm. Meine Herausforderung für diejenigen, die Flussdiagramme mögen, ist es, sie in Code umzuwandeln, der nicht scheiße ist. Damit soll gezeigt werden, dass Flussdiagramme leicht zu fehlerhaftem Code führen und dass sie ein schlechtes Werkzeug sind.