Ich war lange Zeit der einsame Programmierer in meiner Arbeit. Normalerweise habe ich Artikel und Posts über gelesen
- Versionskontrollsysteme
- Kontinuierliche Integration / Lieferung
- Entwicklungsmethoden: Scrum, Waterfall, V-Model, Agile, XP, etc.
- Software-Projektmanagement
Aber fast alle scheinen sich auf TEAMS zu konzentrieren. Ich bin kein Team, also was wäre das absolut Mindestmaß an Übungen für nur einen Programmierer? Berücksichtigen Sie die folgenden Bedingungen:
- Ich habe keine Konflikte mit dem Code anderer Leute.
- Ich brauche keine Dateien / Verzeichnisbäume zu pflegen, meine Entwicklungsumgebung kümmert sich um die Versionierung von selbst (Image-basierte Entwicklung).
- Es gibt keine formalen Anforderungen, meine Benutzer wissen nicht, was sie wollen, und sie sind damit einverstanden.
- Der einzige, der daran interessiert sein könnte, eine Veröffentlichung oder Dokumentation zu liefern, bin ich, der Kunde möchte im Grunde ERGEBNISSE und kümmert sich nicht um Softwaremethoden usw
Ich bin der Ansicht, dass ich nicht zu viel Zeit und Energie in etwas investieren möchte, das nicht direkt mit den Kundenanforderungen zusammenhängt. Irgendwelche Empfehlungen?
Antworten:
Es gibt keine richtige Antwort auf diese Frage, weil es von jeder Person abhängt. Wenn Sie ein iPad für Ihre gesamte Entwicklungsarbeit verwenden und Ihre Kunden mit Ihnen zufrieden sind, haben Sie keinen Grund, etwas zu ändern.
Wenn ich jedoch in Ihrer Position wäre, würde ich Folgendes nachdrücklich durchsetzen:
quelle
Die Versionskontrolle ist ein absolutes Muss für jeden Programmierer, auch für Alleinstehende. Dies bedeutet, dass Sie einfach und schnell gelöschte Dateien und komplexe Änderungen wiederherstellen können, die einfach falsch sind.
Im Grunde rettet es dich vor der blöden Scheiße, die du machst, wenn du zur Arbeit gehst.
quelle
Wie andere sagen, ist die Versionskontrolle oder die Quellcodeverwaltung äußerst wichtig. Verwenden Sie ein DVCS und erfahren Sie alles darüber. Es spielt keine Rolle, um welches es sich handelt, auch wenn es für Sie von Vorteil sein könnte, wenn Sie sich für ein beliebtes Produkt entscheiden: Git oder Quecksilber.
Eine andere Sache, die ich nicht erwähnt habe, ist ein einstufiges Build-Skript . Dies ist keine direkte kontinuierliche Integration (dieser Satz ist meiner Meinung nach anfällig für BS), sondern ein sehr nützliches Werkzeug. Wann immer Sie ein Notfall-Update durchführen müssen, können Sie das Skript einfach ausführen und damit fertig sein. Gegen Ende des Projekts sind auch mehrere Builds pro Tag erforderlich. Ich habe die Erfahrung gemacht, dass es sich auszahlt, auch wenn der Erstellungsprozess nicht zu kompliziert ist. Sie können sogar FTP-Upload-Funktionen hinzufügen, E-Mail-Berichte verfassen, Komponententests ausführen, Installer erstellen, signieren usw. Das Skript kann von Anfang an geschrieben werden und ist im Verlauf des Projekts mit weiteren Schritten einfach zu warten und zu erweitern.
quelle
Ich beantworte nur eine, die Versionskontrolle ist für jedes Projekt von enormer Bedeutung und nicht nur für Team-Projekte. Wenn Sie es verwenden, dauert es nur sehr wenig länger, aber es bietet Ihnen einen umfangreichen Verlauf, auf den Sie zurückgreifen können. Es ist keine Silberkugel, aber es ist sicherlich schön, in der Lage zu sein, zu einer Arbeitskopie zurückzukehren, wenn dies wirklich der Fall ist experimentelle Funktion hat den größten Teil der Anwendung gebrochen.
quelle
Versionskontrolle ist ein absolutes Muss. Nicht nur, weil die Quelle in Ordnung ist, sondern auch wegen der Quellenarchäologie. Ein Jahr, nachdem Sie überprüft haben, wie sich eine Klasse oder Prozedur entwickelt hat, kann viel Schmerz ersparen, wenn Sie versuchen, einen Teil des seltsamen Codes zu "reparieren".
Für Methoden empfehle ich das Programmierer-Manifest . In kleinen Teams führt dies in der Regel zu hervorragenden Ergebnissen, da kein Overhead entsteht und Sie nicht im Kopf behalten müssen, wie die zahlreichen JSR-kompatiblen, rollenbasierten CMS-Webdienst-Anwendungscontainer-Frameworks von MVC funktionieren .
quelle