Als junger Entwickler finde ich es nützlich, Ratschläge zu erhalten, um eine qualitativ hochwertige Anwendung zu entwickeln. In meinen College-Kursen legten die meisten Lehrer Wert auf die Validierung von Eingaben und einige sprachen über Sicherheitsbedenken, aber niemand ging auf die Bedeutung bestimmter anderer Dinge ein, wie zum Beispiel Protokollierung.
Was sind einige Fehler, die unerfahrene Entwickler machen und die für erfahrene Entwickler zu Frustration führen können?
applications
quality
professionalism
awmckinley
quelle
quelle
Antworten:
Ich finde, die Hauptsache, die neue Entwickler vergessen, ist, dass sie in der realen Welt oft als Teil eines Teams arbeiten. Dies zeigt sich als ..
Das heißt nicht, dass ihr Code nicht für sich allein ausreicht, aber sie arbeiten nicht mehr für sich allein.
quelle
Unter Windows betragen diese Steuern :
Auf so ziemlich jeder Plattform müssen Sie sich mit Folgendem befassen:
quelle
Nach meiner Erfahrung denken fast alle unerfahrenen Entwickler nicht daran, dass Sie (fast immer) in einem kommerziellen Umfeld arbeiten. Ihr Code muss gut sein, aber nicht perfekt. Das Wichtigste ist nicht die Perfektion, sondern, dass Ihr Code ausgeliefert wird.
Anders ausgedrückt: Das perfekte Stück Code drei Monate nach dem Zusammenbruch Ihres Unternehmens zu liefern, nützt niemandem.
Meiner Meinung nach ist dies eine der bedeutendsten Arten, in denen sich die Entwicklung in der realen Welt von der Entwicklung unterscheidet, die an der Universität gelehrt wird.
quelle
Wirklich breite Frage; im Detail zu beantworten ist ... mehrere Bücher.
Hier ist eine allgemeine Checkliste zur Systemdefinition, um Ihnen den Einstieg zu erleichtern -
quelle
Die saubere Entkopplung des Systems auf dem eigenen Entwicklungscomputer und dem Zielcomputer, sodass es nicht zu Situationen kommt, in denen "Nun, es funktioniert auf meinem Computer".
Und wie schnell können Sie Ihre Entwicklungsmaschine rekonstruieren?
quelle
Ich denke, es ist wahrscheinlich Design - dh der Ansatz zu überlegen, was Sie tun werden, bevor Sie es tun.
Zu viele unerfahrene Programmierer (denken Sie daran, als Sie angefangen haben) springen gern hinein und bringen etwas in Schwung, fügen dann ein bisschen mehr hinzu und fügen ein bisschen mehr hinzu und fügen ein bisschen mehr hinzu. Dieser Ansatz kann funktionieren, wenn Sie dies vorhaben (jedes Bit kann nach Belieben getestet werden), aber die meisten unerfahrenen Programmierer konzentrieren sich nur auf den Teil, den sie schreiben. Daher werden alle Ergänzungen häufig gehackt in an der Spitze. Und wir haben alle Code gesehen, der sich so entwickelt hat!
Organisation ist das nächste, oft sind sie zu sehr auf den Code konzentriert, den sie geschrieben haben, um sich daran zu erinnern, wie sie es getan haben und was erforderlich war. Sie vergessen also, eine erforderliche Abhängigkeit zu bündeln oder zu dokumentieren. Sie neigen auch dazu, Dinge dorthin zu bringen, wo sie hinfallen. Ich musste letzte Woche einen Junior kritisieren, der seinen Code im Stammverzeichnis eingecheckt hat, einschließlich 3 wsdls, von denen 2 dieselbe Datei waren, und einer Reihe von DLLs von Drittanbietern, in denen er sich engagierte ein Unterverzeichnis und das Stammverzeichnis. Der Code war nicht nach einem Standard formatiert, den Sie sich auch vorstellen konnten, und es gab mehrere Funktionen, die vorhanden waren, aber nie aufgerufen wurden.
Offensichtlich hat er es zum Laufen gebracht, aber es war nicht aufgeräumt, und das bedeutete, dass Installation und Wartung mühsam gewesen wären.
quelle
Ich denke, die größten Unterschiede liegen in der Codierungstechnik. Jeder hat einen etwas anderen Ansatz, aber unerfahrene Entwickler neigen dazu, Code zu erstellen, der:
quelle
Weil Sie die schlimmsten Dinge gefragt haben, lautet meine Antwort wie folgt:
quelle
Mein größter Gedanke ist, Flexibilität zu planen. Im Unterricht werden die Anforderungen fast immer zu Beginn festgelegt und ändern sich nie. In der Software ist es oft umgekehrt: Es gibt vage Anforderungen, die sich häufig ändern (sogar täglich). Das Beste, was Sie tun können, um dabei zu helfen, ist, flexibel zu codieren: lose Kopplung, kleine Funktionen, die zuverlässig in mehreren Situationen verwendet werden können, und das Vermeiden von hartcodierten Dingen so weit wie möglich.
Mit der Zeit werden Sie wahrscheinlich lernen, a) welche Dinge sich am wahrscheinlichsten ändern und welche nicht, und b) wie Sie Änderungsanforderungen antizipieren und für sie planen.
quelle