Entwickler erstellen Skripte, um ihre Arbeit zu erleichtern. Zum Beispiel, um Maven mit bestimmten Parametern auszuführen, nicht benötigte Hintergrundaufgaben zu beenden, die in der Entwicklung auftauchen, oder um eine Verbindung zu einem bestimmten Server herzustellen. Die Skripte sind keine Core-Build-Skripte und werden auch nicht in unserem Continuous Integration-Server verwendet.
Was ist der beste Weg, um sie zu verwalten? Um sie (vielleicht /scripts
) in ein Verzeichnis zu legen und in Git einzuchecken? Um sie auf einem Dateiserver separat zu verwalten?
Das Argument für die Behandlung als Quellcode ist, dass sie Quelle sind und sich ändern können. Das Argument dafür ist, dass es sich nur um Hilfstools handelt und nicht alle Entwickler ein bestimmtes Skript benötigen (z. B. Linux-spezifische Skripts, bei denen einige Entwickler unter Windows arbeiten).
quelle
Antworten:
Entwicklerskripte gehen auch in die Versionskontrolle, da diese Skripte in der Regel auch von den Elementen in der Versionskontrolle abhängen, z. B. Dateipfade.
Wenn diese Skripte versioniert sind, sollten sie auch für alle Entwickler funktionieren, um zu vermeiden, dass jeder Entwickler seine eigenen Skripte schreibt, was zur Wartungshölle wird.
Zusätzlich werden Bugfixes oder Verbesserungen dieser Skripte über die Versionskontrolle automatisch an jeden Entwickler verteilt.
quelle
Zusätzlich zu @ simons Antwort.
Bei der Softwareentwicklung geht es nicht nur um Programmieren, Entwerfen oder Modellieren. Es gibt eine Vielzahl von Aufgaben, die wir kontinuierlich während des Arbeitstages ausführen. Sie haben bereits eines erwähnt - Erstellen des Projekts außerhalb der IDE -, aber es gibt noch viele weitere.
Erfahrene / proaktive Entwickler neigen dazu, diese Aufgaben zu automatisieren. Einige erstellen sogar Tools, wenn diese Aufgaben Teil der SDLC werden, und sind mühsam - und fehleranfällig - von Hand zu erledigen. Programme sind gut darin, sich wiederholende Jobs auszuführen, egal wie langweilig sie sind. Wir - Menschen - sind nicht so gut.
Diese Tools / Skripte haben andere positive Nebenwirkungen
Ja, die Skripte sollten sich im SCM befinden und ein weiteres Tool in der Toolbox des Entwicklers sein.
In Bezug auf den Ordner
/scripts
würde ich sagen, dass es egal ist. Der Einfachheit halber belasse ich sie im Stammverzeichnis des Projekts, sodass alle in den Skripten deklarierten Routen relativ zum Projektordner sind. Wenn ich Zugriff auf externe Ordner oder Dateien benötige, erstelle ich Softlinks .Beachten Sie Folgendes, bevor Sie die Skripte in den SCM einchecken.
Für Sicherheit, stellen Sie sicher , haben die Skripte keine Anmeldeinformationen fest einprogrammiert - im Idealfall sollten die Skripte auch parametrisiert werden -
Stellen Sie sicher, dass die Skripte keine ungewöhnlichen Aktionen ausführen, beispielsweise um Befehle auszuführen, die nicht rückgängig gemacht werden können (die typischsten
rm -rf
).Da diese Teil der Projektquelle werden, wird die Dokumentation sehr geschätzt.
Scripting ist keine Hexerei. Machen Sie Skripte kurz. Anstatt sie alle zu regieren ... und in der Dunkelheit zu binden , mache mehr, kleiner und prägnant. Als ob Sie SRP anwenden würden.
quelle
Ich werde eine etwas negativere Meinung abgeben. Einerseits sollten generische, effektive und nützliche Entwicklerskripte natürlich mit anderen Entwicklern geteilt werden, und der beste Weg, dies zu tun, besteht darin, sie mit dem Code im selben Repository zu haben.
Allerdings würde ich eine hohe Messlatte für einen Einstieg für mit Skripten begangen werden. Skripte sind wie die Software selbst Code. Das heißt, sie müssen ähnlich wie andere Code-Teile behandelt werden:
Es gibt eine Reihe weiterer Überlegungen, die sich eher auf Skripts als auf die Software selbst beziehen:
Zusammenfassend kann gesagt werden, dass Skripte für einen einzelnen Entwickler sehr hilfreich sein können, aber das Freigeben als Teil der Codebasis selbst kann eine viel schwierigere Aufgabe sein und möglicherweise mehr Probleme verursachen, als gelöst sind.
quelle