Heim  >  Artikel  >  Programmierer testen, ob sie diese Hürden überwunden haben

Programmierer testen, ob sie diese Hürden überwunden haben

-
-Original
2018-03-06 14:02:541725Durchsuche

Programmierer testen, ob sie diese Hürden überwunden haben

Die schwierigste Aufgabe eines Programmierers hat wenig mit dem Schreiben von Code zu tun. Beim Codieren handelt es sich um die Übung des logischen Denkens, die im Vergleich zu anderen Aufgaben in der täglichen Arbeit eines Programmierers relativ einfach ist. Wenn Sie der Meinung sind, dass Sie immer noch ein durchschnittlicher Programmierer sind, stellen Sie bitte sicher, dass Sie die folgenden Aufstiegshindernisse überwunden haben, bevor Sie wirklich in die Expertenränge aufsteigen können.

1. Erklären Sie, was Sie tun

Den Softwareentwicklungsprozess zu erklären ist eine schwierige Sache. Leute, die keine Programmierer sind, wissen vielleicht viel über das Programmieren, aber sie wissen offensichtlich nicht, wie man programmiert. Für sie besteht unser Leben darin, in einem dunklen Raum vor einer Tastatur zu sitzen und Kaffee zu trinken.

Programmierer testen, ob sie diese Hürden überwunden haben

Sie werden unter Ihren Freunden, Ihrer Familie und Ihren Kollegen Menschen treffen, die denken, dass Programmieren nicht der richtige Beruf ist.

2. Visualisieren Sie die Softwarelösung

Basierend auf einigen kurzen Anforderungen – normalerweise mit wenig Wissen – müssen Sie Datenstrukturen, Softwarearchitektur, Codealgorithmen, Kommunikationsprotokolle und alle anderen Komponenten entwerfen Lösungen für geschäftliche Probleme. Dann müssen Sie sie in einer für Laien verständlichen Sprache formulieren und sie dem Kunden innerhalb einer bestimmten Frist vorlegen.

Nur ​​wenige Programmierer können das gut.

3. Schätzung der Dauer

Dies ist die Quelle des Schmerzes für Programmierer. Bevor die Entwicklungsaufgabe abgeschlossen ist, ist es für Sie absolut unmöglich, die für die Erledigung der Aufgabe erforderliche Zeit zu bestimmen. Vielleicht ist das Programm dem, was ich zuvor geschrieben habe, sehr ähnlich, aber die Umgebung hat sich geändert, die Probleme haben sich geändert und die Einschränkungen haben sich geändert.

Erfahrung sorgt für ein gewisses Maß an Urteilsvermögen, aber die meisten Programmierer sind es gewohnt, die Schwierigkeit von Problemen zu unterschätzen. Der Grund dafür ist, dass sie nur den Coding-Aspekt berücksichtigen und andere Dinge auf der To-Do-Liste ignorieren.

4. Den Code anderer Leute pflegen

Es kann 10.000 Lösungen und 10.000 Möglichkeiten geben, ein Problem zu schreiben. Die Übernahme von Code, der von anderen geschrieben wurde, bedeutet, dass Sie unzählige Stunden damit verbringen müssen, Tausende von Codezeilen zu untersuchen, um die Ideen des ursprünglichen Autors zu verstehen. Und wenn es sich um ein halbes Projekt handelt, das von einem Programmierer hinterlassen wurde, der nicht an Kommentare und Dokumentation glaubt, ist das Problem noch größer.

5. Die unscharfe Ausbreitung von Softwaregrenzen und seltsamen Funktionsanforderungen, die Menschen zum Bluterbrechen bringen

Obwohl agile Entwicklungsmethoden einen gewissen Vorbereitungsraum für die Erweiterung des Softwareumfangs bieten, ist dies nicht der Fall jede Rolle spielen – vor allem, wenn Sie auf funktionale Anforderungen stoßen, die aus einer Laune heraus entstehen. Sie wissen, dass dies zum Scheitern verurteilt ist. Ihr Team weiß, dass dies zum Scheitern verurteilt ist. Aber der Kunde findet es großartig, und wenn es unvermeidlich zum Scheitern kommt, ist alles Ihre Schuld, weil Sie seine wahren Absichten nicht verstanden haben.

Finden Sie ein Gleichgewicht zwischen mangelnder Optimierung und Überoptimierung.

Komplexe Software wird nie perfekt sein. Sie können endlos weiter optimieren, weshalb Softwareprojekte nie früher als geplant abgeschlossen werden.

Andererseits ist auch die Mentalität „Das reicht, ich optimiere es später“ weit verbreitet. Der Code funktioniert heute einwandfrei, aber Sie wissen, dass er morgen Probleme haben oder nicht funktionieren könnte. Natürlich müssen Sie es nicht ändern, es wird dem nächsten unglücklichen Programmierer überlassen.

7. Testen Sie Ihren Code

Sie haben auch Unit-Tests geschrieben und die Software an die Testgruppe übermittelt, aber die Fehler sind immer noch vorhanden...

Software ist komplex und kann Tausende von Codezeilen enthalten. Möglicherweise gibt es Millionen verschiedener Interaktionen und logischer Pfade im System; Sie können sie unmöglich alle testen.

In ähnlicher Weise interagiert Software mit unterschiedlicher Software auf unterschiedlichen Plattformen unter unterschiedlichen Bedingungen. Man kann sie nicht alle messen.

Gute Unit-Tests zu schreiben ist langweilig und harte Arbeit. Idealerweise sollten Tests geschrieben werden, bevor die Entwicklung beginnt – aber wie erklärt man dem Kunden, warum vier Wochen vergangen sind und es immer noch keine verwendbare Software gibt?

Unit-Tests decken nicht jeden Problempunkt ab. In einer idealen Welt gäbe es ein unabhängiges Team, das Tests schreibt und aktiv Probleme identifiziert. Leider ist dies für die meisten Projekte zu kostspielig und zeitaufwändig, so dass das Entwicklungsteam die Tests selbst schreiben muss. Das Entwicklungsteam vermeidet unbewusst viele extreme Randfälle.

Programmierer gehen alle Probleme gerne auf logische Weise an. Aber Benutzer sind selten so. Sie werden Probleme aufdecken, mit denen Sie nie gerechnet hätten.

8. Softwaredokumentation schreiben

Dokumentation für Code zu schreiben ist eine mühsame und zeitaufwändige Aufgabe. Nur wenige Programmierer sind darin gut, nur wenige Programmierer mögen das und nur wenige Programmierer nehmen sich die Zeit, sie zu lesen.

9. Umgang mit IT-Themen

Sie beschäftigen sich jeden Tag mit Technik. Sie sind vielleicht ein HTML- oder PHP-Programmierer, aber es ist wahrscheinlich, dass Sie auf Probleme wie Festplattenbeschädigung, Treiberkonflikte oder Softwareabstürze stoßen. Es liegt nicht in Ihrer Hauptverantwortung, diese Probleme zu beheben, aber wenn Sie sie nicht beheben, können Sie Ihre Entwicklungsarbeit nicht fortsetzen.

Bedauerlicherweise gilt für Menschen außerhalb des IT-Kreises, dass Programmierer Menschen sein sollen, die sich sowohl mit Software als auch mit Hardware auskennen. Wenn sie auf ein Problem stoßen, lösen sie es ohne Zeitaufwand selbst und kommen direkt zu Ihnen. Ganz gleich, um welches Problem es sich handelt: Sie sind ein Computermensch, Sie wissen, wie man ein Budget in Sage importiert, wie man Oracle konfiguriert oder warum man auf seinem BlackBerry keine E-Mails versenden kann.

Natürlich können diese Unterbrechungen nicht der Grund dafür sein, dass Sie Ihre Arbeit nicht abschließen können, und es gibt keine Belohnung, oder?

Umgang mit Menschenproblemen

Die oben genannten Probleme können alle als „Menschenprobleme“ zusammengefasst werden. Nur wenige Laien würden einem Piloten Ratschläge geben, wie man ein Flugzeug steuert, oder einem Elektrotechniker, wie man ein Flugzeug verkabelt. Aber viele Leute werden mit Begeisterung und Mut Vorschläge machen, wie man Software entwickelt.

Ich glaube, dass es für diese Menschen keine gute Lösung gibt. Sie müssen die Tatsache akzeptieren, dass die Hälfte der Menschen auf der Welt über eine unterdurchschnittliche Intelligenz verfügt!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn