Software Entwickler auszugleichen viele Faktoren beim Erstellen von Anwendungen und Websites . In den frühen Tagen , als Computer nur wenig Speicherplatz und Ressourcen hatte , waren Größe und Geschwindigkeit die wichtigsten Anliegen . Heute, mit Multi-Core- Prozessoren und Gigabyte Speicher , Komplexität und Wartbarkeit oft überschreiben Leistung. Hier sind einige der wichtigsten Faktoren, die bei der Auswahl der richtigen Algorithmen für Ihr Projekt. Anleitung
1
Measure Performance . Der erste Faktor , die immer in den Sinn kommt , wenn Messung eines Algorithmus ist die Geschwindigkeit. Niemand will für langsame Software warten. Es gibt mehrere Möglichkeiten , um zu bestimmen , welcher Algorithmus am besten für die Aufgabe zu erfüllen . Ein Algorithmus kann manuell durch Zählen Anweisungen gemessen werden , mit Wahrscheinlichkeiten , um die Ausführung Pfade bestimmen. Noch einfacher sind die Profiler Maschine Zyklen zählen als der Code ausgeführt wird .
2
Vergleichen Code-Größe . Obwohl nicht ganz so wichtig wie Leistung, die Größe des Codes manchmal hat sich ein Faktor. Embedded -Software und mobile Apps müssen oft begrenzten Speicher teilen, und Browser-basierten Code braucht Zeit zum Download bereit. Manchmal ist ein kleiner Hit in der Leistung können geopfert, um eine erhebliche Menge an Code rasieren werden.
3
Bestimmen Sie den Grad der Komplexität . Die meisten kommerziellen Software-Entwickler Code schreiben, auf Desktop- PCs oder Web-Server mit viel Rechenleistung und mehr als ausreichend Speicher zum Einsatz. Heute ist die größte Herausforderung bei der Verwaltung von Komplexität . Eine recht einfache Business-Anwendung können oft überall von ein paar Dutzend bis zu mehreren hundert Code Modulen mit jeweils mehreren hundert Zeilen Code. Bei diesen Anwendungen sind die besten Algorithmen einfach zu verstehen und einfach zu implementieren. Um die Komplexität zu messen, zählen die Anzahl der Entscheidungspunkte , Funktionsaufrufen Anzahl der Variablen und der Komplexität der Datenstrukturen.
4
Vergleichen Wartbarkeit . Eng verbunden mit der Komplexität gekoppelt ist Wartbarkeit . Ein Algorithmus mit weniger Komplexität , präsentiert mit viel Weißraum und großzügig bestreut mit gut geschriebenen Kommentare , wird es viel einfacher zu ändern , wenn die Anforderungen ändern. Die meisten Entwickler verbringen viel mehr Zeit zu erhalten und bestehenden Code zu verändern , als sie die Schaffung neuer Software.
5
für Richtigkeit Validieren. Oft in einer Diskussion von Algorithmen übersehen wird, ist die Notwendigkeit eines geeigneten Algorithmus , der alle Anforderungen erfüllt und arbeitet korrekt . Der Code muss zurückkehren genaue Ergebnisse für Eingänge einschließlich Randbedingungen und unerwartete Werte . Filter müssen an Ort und Stelle , um fehlerhafte Daten abzulehnen , und Exception-Handling -Code muss auf numerische Überläufe , unterläuft , Netzwerk-Ausfälle oder andere Bedingungen zu reagieren.
6
Wählen Sie die am besten geeigneten Algorithmus . Die beste Wahl gleicht all diese Faktoren in einer Weise, die Leistung maximiert und minimiert Kosten für die Entwicklung und Betriebskosten.