Was sollten Sie beachten, wenn Sie sich auf die Übergabe eines Projekts vorbereiten?

10

Ich bin derzeit der einzige Entwickler / Architekt einer ziemlich großen Webanwendung (ASP.NET MVC-Stack, mehr als 150 KB Codezeilen) und das Ende der Entwicklung steht vor der Tür. Als solches beginne ich darüber nachzudenken, was für die Übergabe des Projekts getan werden muss, und ich möchte sicherstellen, dass ich das Richtige für jeden tue, der das Projekt in Zukunft warten muss.

Was sollten Sie beachten, wenn Sie sich darauf vorbereiten, ein Projekt an einen anderen Entwickler oder ein Team von Entwicklern der Wartung zu übergeben?

rjzii
quelle

Antworten:

12

IMHO, wenn Sie nur eines tun könnten, bevor Sie Ihr Projekt übergeben (entweder direkt oder indirekt), würde ich empfehlen, dass Sie doppelt und dreifach überprüfen, ob es so wie es ist aus der Quellcodeverwaltung kompiliert wird.

Kein Lachen, aber ich kann Ihnen nicht sagen, wie oft ich "neueste" von einer Quellcodeverwaltung erhalten habe und sie nicht kompiliert werden konnte, nur um später herauszufinden, dass ich nicht "auf Freds alter Box" war, weil anscheinend nur der Code " kompiliert auf Freds alter Box ". Ich hatte sogar einen ehemaligen Arbeitgeber, der meinen Desktop sofort aus meinem Cube entfernte und durch "Freds alte Box" ersetzte, damit ich an dem Projekt arbeiten konnte, für das ich mich entschieden hatte.

Als Erweiterung der obigen Empfehlung empfehle ich, dass Sie eine README.txt erstellen und im Stammverzeichnis Ihrer Anwendung ablegen und diese in die Quellcodeverwaltung einfügen, da manchmal nicht das Neueste zum Kompilieren einer Anwendung erforderlich ist. Dieses README-Dokument sollte eine Liste externer Abhängigkeiten enthalten, die nicht in die Quellcodeverwaltung eingecheckt werden konnten (falls vorhanden), die Einrichtung der Datenbank und andere Besonderheiten hinsichtlich der Kompilierungs-, Ausführungs- oder Bereitstellungszyklen der Anwendung.

Alles, was über die beiden oben genannten Vorschläge hinausgeht, wäre nur Sauce, aber meiner Meinung nach sind die beiden oben genannten fast für jedes Projekt erforderlich, das größer als "Hello World" ist.

BEARBEITEN:

Zum Thema Dokumentation ...

Im Laufe der Jahre habe ich meinen Teil der Softwaredokumentation geschrieben und gelesen, um den Übergang eines Entwicklers zu erleichtern. Ich würde sagen, dass solche Dokumente selten das Papier wert sind, auf dem sie gedruckt werden. Entwickler (ich selbst eingeschlossen) denken beim Schreiben solcher Dokumente selten an die wichtigen Teile der Anwendung. Wir denken nur an die jüngsten Brände, gegen die wir gekämpft haben. Abgesehen von der Tatsache, dass diese Dokumente in der Regel nicht alle wichtigen Aspekte der Software abdecken, sind sie auch SEHR schnell veraltet. Sobald das Dokument veraltet ist, wird ein zukünftiger Entwickler es höchstwahrscheinlich völlig ignorieren, anstatt es wieder der Realität anzupassen (denken Sie an sich ändernde Anforderungen).

Anstelle der Dokumentation an sich empfehle ich Unit-Tests. Ich weiß, dass es an dieser Stelle wahrscheinlich alt klingt, aber lassen Sie den Code die Dokumentation für Sie erledigen. Defekte Komponententests sind schwer zu ignorieren (und leichter zu erkennen) als ein Word-Dokument. Darüber hinaus ist die englische Sprache fürchterlich ungenau, um die Feinheiten des Software-Designs zu artikulieren. Es gibt einfach zu viele Möglichkeiten, die Bedeutung selbst der einfachsten englischen Sätze zu interpretieren, und dies führt nur zu Verwirrung und / oder Fehlern.

Jason Whitehorn
quelle
1
+1 für die Readme-Datei. Ich habe zu diesem Zeitpunkt tatsächlich zwei davon im Projekt, eine allgemeine "das habe ich mir gedacht, als ich dieses Konzept geschrieben habe" und eine andere, in der nur alle vorhandenen externen Abhängigkeiten und jQuery-Plug-Ins aufgelistet sind zusammen mit Zeilen, woher ich sie habe. Die Zusammenstellung ist definitiv etwas, das ich noch einmal überprüfen muss.
rjzii
@Rob, eine VM ist oft eine gute Idee, wenn Sie feststellen möchten, ob Ihr Code in einer sauberen Umgebung kompiliert werden kann. Eine Neuinstallation von Windows und Visual Studio. Führen Sie dann die Installation nur der in Ihrer readmeDatei genannten Elemente durch . Wenn der Code kompiliert und ausgeführt wird, sind Sie fertig.
Jason Whitehorn
Dokumentation nicht vergessen!
Moshe
@Jason - Ich konnte das vor einiger Zeit unter den gleichen Umständen tun (zwei Entwicklungsmaschinen, eine mit Parallels Desktop), aber seitdem wurden einige neue Bibliotheken in das Projekt aufgenommen.
rjzii
1
@ Moshe - Die Dokumentation ist der Teil, über den ich mir am meisten Sorgen mache. Ich habe den Code so geschrieben, wie ich ihn gerne finden würde, bin mir aber nicht sicher, welche zusätzlichen Dokumente ich schreiben sollte, um den Code und die grundlegenden Readme-Dokumente zu ergänzen.
rjzii
1

Genau aus diesem Grund riechen Kommentare nicht nach Code. Deshalb sollten wir auch unseren Code dokumentieren.

Sie sollten sicherstellen, dass Sie über eine solide Dokumentation verfügen. Es gibt Programme, die abhängig vom Format der Kommentare und der Programmiersprache Dokumentation aus Kommentaren generieren können.

Überlegen Sie, welche Informationen Sie über eine Bibliothek oder Codebasis benötigen, wenn Sie diese übernehmen. Bitten Sie einen Freund, der Programmierer ist, einen kurzen Blick darauf zu werfen, ob er offensichtliche Fragen entdeckt.

Viel Glück!

Moshe
quelle
1

Stellen Sie sicher, dass Ihr Code mit nur einem Befehl / Klick im endgültigen Formular kompiliert und verpackt wird.

Ich kann die Antwort nicht positiv bewerten. Was sind einige Dinge zu beachten, wenn Sie sich darauf vorbereiten, ein Projekt abzugeben ? genug, also muss ich das nochmal aufschreiben.

Ich bin sehr wählerisch in Bezug auf diese One-Click-Kompilierung , da ich bereits so viel Zeit darauf verwendet habe, herauszufinden, wie ein Projekt tatsächlich kompiliert oder gepackt werden kann, dass ich nur einen kleinen Fehler beheben musste. Ich fing an, kleine Batch- / Bash-Skripte in meine Projekte einzufügen, um die endgültige ZIP-, JAR- oder EAR-Datei zu verpacken.

Zusätzlich füge ich dem Stammverzeichnis eine README.txt hinzu, die das Gesamtdesign , die komplexen Teile und die Projektumgebung beschreibt (in Bezug auf die Kommunikation mit anderen Abteilungen oder Personen).

Ich versuche , diese README.txt klein zu halten , da niemand mehr als 200 Seiten mit Spezifikationsdokumenten liest, wenn Sie nur einen Fehler beheben, kompilieren und verpacken möchten. Implementierungsdetails werden in Unit-Tests dokumentiert , sodass Sie nicht alles noch einmal in ein Buch schreiben müssen ...

zusammenzucken
quelle
0

Meine Standardübergabe-Checkliste:

  1. Überprüfen Sie die saubere Kopie von VCS
  2. Testaufbau, Testbereitstellung
  3. Benennen Sie das Maven-Repo in Repo-Backup um
  4. Testen Sie den Build erneut
  5. Installieren Sie eine neue Kopie des App-Servers von zip
  6. Überprüfen Sie die Server-Setup-Notizen
  7. Testen Sie die Bereitstellung erneut
  8. Stellen Sie sicher, dass keine Komponententests deaktiviert sind
  9. Scannen Sie Kommentare nach Wörtern mit vier Buchstaben und löschen Sie sie

Wenn etwas kaputt ist, würde ich es vor der Übergabe reparieren. Nichts bringt jemanden zum Laufen, wenn das Projekt an dem Tag, an dem Sie das Projekt erhalten, ausgecheckt, erstellt und ausgeführt wird.

sal
quelle