By Jerrie Agunya & Geoffrey Matieso
Überwinden Sie den Trugschluss, dass Sie C++ kennen müssen, Java, dieses Framework, jenes Framework usw. kennen muss, um die beste Programmierpraxis zu haben. Sie müssen lernen, nicht aufzugeben. Gewöhnlich wird es am Anfang der Reise zur besten Programmierpraxis wirklich schwierig, und das ist eine Tatsache.
Die Tatsache, dass Code für jemanden, der nicht weiß, wie man programmiert, einfach wie ein Code aussieht, ist wahr, aber einige Dinge fallen auf, wenn man die Fähigkeiten eines Programmierers beurteilt. Woran erkennt man also einen guten Programmierer mit den besten Programmierfähigkeiten? Im Folgenden werden wir einige davon diskutieren und einander gegenüberstellen.
Codequalität
Der Ingenieur und Autor Martin Fowler sagte:
„Jeder Narr kann Code schreiben, den ein Computer versteht, gute Programmierer schreiben Code, den Menschen verstehen“
Ein guter Programmierer verbringt viel Zeit damit, seinen Code zu dokumentieren, denn es kann sein, dass er seinen Code nicht mehr versteht, wenn er ihn sich in ein paar Monaten wieder ansieht. Sie sorgen dafür, dass ihre Teamkollegen mit ihrem Code zufrieden sind und nicht verzweifeln. Es ist eine schlechte Praxis, Code zu produzieren, der mit Blick auf die zukünftige Wartbarkeit geschrieben wurde. Damit meinen wir, dass der Code nicht für das Wachstum der Codebasis geschrieben wurde, und wenn ein Update oder eine neue Funktion implementiert werden muss, wird er unordentlich, voller Fehler und geht kaputt.
Die Qualität des Codes ist wichtig für die Skalierbarkeit, der Code sollte richtig strukturiert, ordentlich, gut dokumentiert und mit der richtigen Formatierung sein, er sollte testgetrieben sein, um Schwachstellen zu vermeiden.
Schneller und unordentlicher Code ist schnell, ja! Aber denken Sie nur daran, wie viele Stunden die Fehlersuche in diesem Code in Zukunft kosten wird.
Voraussetzungen.
Bevor mit der Programmierung begonnen wird, müssen alle notwendigen Voraussetzungen erfüllt sein, um eine solide Grundlage für die Programmierung zu schaffen. Dazu gehören der Lebenszyklus, die Architektur, das Design und die Wahl der Programmiersprache. Die Softwareentwicklungsmethodik hilft bei der Strukturierung, Planung und Kontrolle des Lebenszyklus eines Projekts. Die Softwarearchitektur legt fest, was zu tun ist und welche Programmkomponente dafür zuständig ist. Sie definiert effektiv die Schnittstelle zwischen verschiedenen Programmen, wenn das Softwaresystem viele Programme enthält.
Die Architektur ermöglicht es auch anderen Beteiligten, die Projektanforderungen zu überprüfen. Das Softwareentwicklungsdesign sollte so detailliert sein, dass es eine gute Anleitung für die eigentliche Codierung bietet. Sie ermöglicht es, die im architektonischen Entwurf übersehenen Details auszufüllen. Verschiedene Programmiersprachen sind für verschiedene Aspekte des Problems geeignet. Der Programmierer sollte sich über die spezifischen Stärken und Schwächen der verwendeten Sprache im Klaren sein. Das Problem und die damit verbundenen Programmieranforderungen sollten verstanden werden, um die beste Sprache zu wählen. Die beste Sprache wird auf der Grundlage der Liste der Anforderungen ausgewählt.
Den Code einfach halten.
Die Gruppierung des Codes ermöglicht die Verwendung weniger Codezeilen, wobei die Aufgaben in separaten Codeblöcken untergebracht werden. Komplizierte Logik, um eine einfache Sache zu erreichen, sollte auf ein Minimum beschränkt werden, da der Code in der Zukunft von einem anderen Programmierer geändert werden könnte. Eine geringfügige Vereinfachung des Codes steigert die Produktivität und verringert das Scrollen und die Belastung der Augen. Das Hinzufügen eines Kommentars am Anfang eines jeden Code-Blocks unterstreicht auch die visuelle Trennung.
Programmierer sollten je nach Projekt ein einheitliches Namensschema und eine einheitliche Einrückung verwenden. Die Namen sollten Wortgrenzen haben, d.h. CamelCase oder Unterstriche. Das DRY-Prinzip (Don’t Repeat Yourself) sollte im gesamten Code beachtet werden, da die meisten Anwendungen sich wiederholende Aufgaben automatisieren. Der Programmierer sollte außerdem tiefe Verschachtelungen vermeiden und die Zeilenlänge begrenzen. Den Code einfach zu halten, verbessert die Lesbarkeit.
Portabilität.
Programmierer sollten Variablen parametrisieren und für die Hosting-Umgebung außerhalb der Anwendung konfigurieren. Dazu kann ein Anwendungsserver oder eine Datenbank gehören. Der Programmcode sollte keine literalen Werte enthalten, die sich auf Umgebungsparameter wie absolute Dateipfade, Dateinamen, Benutzernamen, Hostnamen und IP-Adressen beziehen. Dadurch kann die Anwendung nicht auf einem Host mit einem anderen Design ausgeführt werden.
Wiederverwendbarkeit.
Viele Softwareprojekte beginnen mit einer bestehenden Baseline, die das Projekt in seiner vorherigen Version enthält. Je nach Projekt werden viele der vorhandenen Softwaremodule und -komponenten wiederverwendet. Dies hilft, Entwicklungskosten und -zeit zu reduzieren, wenn die Komponenten bereits getestet sind. Dadurch erhöht sich die Wahrscheinlichkeit, ein Softwareprojekt termingerecht abzuliefern.
Debugging des Codes und Korrektur von Fehlern.
Programmierer sollten den kompletten Code schreiben und dann mit dem Debugging und der Fehlersuche beginnen und nicht das gesamte Programm. Diese Vorgehensweise spart Zeit, da man keine Zeit mit der Fehlersuche vergeudet.
Testen.
Bevor mit der Codierung begonnen wird, werden Testfälle geplant und entwickelt, während die Anwendung entworfen und codiert wird. Unit-Tests für einzelne Module und funktionale Tests für Webdienste und Anwendungen werden zusammen mit dem Debugging eingesetzt.
Zusammenfassend lässt sich sagen, dass die beste Programmierpraxis es Ihnen als Entwickler ermöglicht zu erkennen, welchen Wert Sie einbringen können. Insbesondere, was Sie tun können, was andere nicht können; nicht „so schlau zu sein wie die anderen Entwickler“, sondern einzigartig zu sein und den inneren Techie in sich selbst hervorzubringen.