Standards für die Arbeitsweise von Entwicklern an ihren eigenen Arbeitsplätzen

18

Wir sind gerade auf eine dieser Situationen gestoßen, die gelegentlich auftritt, wenn ein Entwickler während eines Projekts für einige Tage krank wird.

Es gab ein paar Fragen dazu, ob er die neueste Version seines Codes festgeschrieben hatte oder ob auf seinem lokalen Computer etwas Neueres vorhanden war, das wir prüfen sollten, und wir hatten eine Lieferung an einen Kunden anstehend, sodass wir nicht warten konnten ihn zurückzukehren.

Einer der anderen Entwickler meldete sich als er an, um eine Unordnung von Arbeitsbereichen zu sehen und zu finden, von denen viele anscheinend von denselben Projekten stammten, mit Zeitstempeln, die unklar machten, welche "aktuell" waren (er erstellte einige Prototypen für andere Versionen des Projekts als sein "Kern" ein).

Offensichtlich ist dies ein Nackenschmerz, aber die Alternative (die strenge Standards für die Arbeitsweise jedes Entwicklers auf seinem eigenen Computer zu sein scheint, um sicherzustellen, dass jeder andere Entwickler die Dinge mit minimalem Aufwand aufnehmen kann) wird wahrscheinlich viele zerbrechen Entwickler persönliche Arbeitsabläufe und führen zu Ineffizienz auf individueller Ebene.

Ich spreche nicht von Standards für eingecheckten Code oder gar allgemeinen Entwicklungsstandards, sondern davon, wie ein Entwickler lokal arbeitet, eine Domäne, die (meiner Erfahrung nach) im Allgemeinen fast ausschließlich der Kontrolle des Entwicklers unterliegt.

Wie gehen Sie mit solchen Situationen um? Gehört das zu den Dingen, die gerade passieren und mit denen Sie sich auseinandersetzen müssen: Der Preis, den Sie für Entwickler zahlen, darf so arbeiten, wie er am besten zu ihnen passt?

Oder bitten Sie Entwickler, Standards in diesem Bereich einzuhalten - Verwendung bestimmter Verzeichnisse, Benennung von Standards, Notizen in einem Wiki oder was auch immer? Und wenn ja, was decken Ihre Standards ab, wie streng sind sie, wie überwachen Sie sie und so weiter?

Oder gibt es eine andere Lösung, die ich vermisse?

[Nehmen wir an, dass der Entwickler nicht kontaktiert werden kann, um zu besprechen, was er hier getan hat - selbst wenn er wissen und beschreiben könnte, welcher Arbeitsbereich welcher aus dem Gedächtnis ist, wird dies nicht einfach und fehlerfrei sein und manchmal können es die Leute wirklich nicht kontaktiert werden und ich möchte eine Lösung, die alle Eventualitäten abdeckt.]

Bearbeiten: Ich habe festgestellt, dass die Arbeitsstation von jemandem in einer schlechten Form durchlaufen wird (obwohl es eine interessante - und wahrscheinlich nicht zum Thema gehörende - Frage ist, warum das so ist), und ich schaue mit Sicherheit nicht auf unbegrenzten Zugriff. Denken Sie mehr nach dem Vorbild eines Standards, bei dem ihre Codeverzeichnisse mit einer schreibgeschützten Freigabe eingerichtet sind - nichts kann geändert werden, nichts kann angezeigt werden und so weiter.

Jon Hopkins
quelle
8
-1 für die Gestapo in der Kommandozentrale eines Programmierers.
Systemovich
17
Warten Sie, woher wusste der zweite Entwickler das Passwort des ersten Entwicklers?
TheLQ
12
+1 für eine ausgezeichnete Frage. "Going Gestapo" ist meiner Meinung nach in einem Unternehmensumfeld nicht relevant, da Entwickler für das Unternehmen arbeiten und daher die Zugriffsrechte für ihre lokalen Computer aufgeben. Sie möchten Privatsphäre, verwenden Sie Ihre eigene Hardware.
Gary Rowe
4
Wenn der Entwickler nach dem Passwort gefragt werden konnte, warum haben Sie ihn nicht einfach gefragt, welche Version die aktuelle ist?
Ben L
2
@ Gary: was? Nein, das ist kompletter (und sehr gefährlicher) Unsinn. Es ist ein langer Weg (sowohl logisch als auch rechtlich) von der Arbeit für ein Unternehmen bis zur Aufgabe der Persönlichkeitsrechte für die Privatsphäre. Ich würde nicht nennen Jons Aktion „going Gestapo“ (noch bevor er erklärt es mehr) , aber Unternehmen tun Gestapo gehen manchmal , und das ist etwas , dass Bedürfnisse auf allen Ebenen verhindert und bekämpft werden. Ich kann nur für Deutschland sprechen , aber hier Sie tun auch bestimmte Persönlichkeitsrechte haben , wenn sie auf unternehmenseigenen Hardware arbeiten.
Konrad Rudolph

Antworten:

64

" Wenn es nicht in der Quellcodeverwaltung ist, existiert es nicht. "

Dies ist eines der wenigen Dinge in unserem Beruf, über die ich dogmatisch bin. Aus den folgenden Gründen:

  1. Auch wenn die Workstation Eigentum des Unternehmens ist, gibt es eine ungeschriebene Regel, dass die eigene Workstation eines Programmierers sein Schloss ist. Ich bin nur mit einer Arbeitsplatzkultur unzufrieden, bei der sich jeder routinemäßig anmelden und sie durchgehen kann.
  2. Jeder hat seinen eigenen Fluss (wie Sie auch sagten). Der Versuch, alle Entwickler zu zwingen, ihre eigenen lokalen Arbeitsbereiche auf eine bestimmte Weise zu organisieren, widerspricht möglicherweise ihrer jeweiligen Arbeitsweise, unterbricht ihren Ablauf und macht sie weniger effizient.
  3. Sachen, die sich nicht in der Quellcodeverwaltung befinden, sind halbgebackener Code. Wenn es sich um vollständig gebackenen Code handelt, der zur Veröffentlichung bereit ist, sollte er sich in der Quellcodeverwaltung befinden. Welches kommt wieder auf den Hauptpunkt zurück ....
  4. "Wenn es nicht in der Quellcodeverwaltung ist, existiert es nicht."

Eine Möglichkeit, das Problem des Anzeigens von Code auf den Arbeitsstationen der Benutzer zu mindern, besteht darin, eine Kultur des regelmäßigen Eincheckens zu fördern. Ich habe einmal in einer Firma gearbeitet, in der es - obwohl es kein offizielles Mandat gab - eine Art Stolz war, immer alles für das Wochenende eingecheckt zu haben. In den Wartungs- und Release-Kandidatenphasen wurden CR-Elemente bewusst sehr feinkörnig gestaltet, um kleine, sauber sichtbare Änderungen zu ermöglichen, und regelmäßige Überprüfungen, um diese nachzuverfolgen.

Auch vergewissert hat alles, bevor Sie gehen auf Urlaub war obligatorisch .

TL; DR-Version : Durch die Arbeitsplätze der Menschen zu schießen ist eine schlechte Form. Anstatt zu versuchen, eine Kultur zu pflegen, die es einfach macht, die Arbeitsplätze der Menschen zu durchsuchen, um das zu finden, was wir wollen, ist es besser, eine Kultur der vernünftigen Verwendung der Quellcodeverwaltung und der regelmäßigen Überprüfung zu pflegen. Möglicherweise sogar übermäßige Überprüfungen und fein abgestimmte Aufgaben in kritischen Phasen von Projekten.

Bobby Tische
quelle
10
+1: Jemand ist krank und es wird wahrscheinlich mehr kosten als wert sein, auf seiner Workstation herumzuspielen. Eine Person ist bereits gegangen. Jetzt verschwendet eine andere Zeit damit, herauszufinden, was los ist. Riesiger Management-Albtraum ohne Wert. Bis es in der Quellcodeverwaltung ist, existierte es nie.
S.Lott
1
Ist er heute weg? Ja, für den Rest der Woche? Vielleicht für einen Monat? Keine Chance. Dies ist eines dieser üblen "Graustufen" -Probleme ... wir sind wieder zurück, um frühzeitig und häufig ein Commit durchzuführen - die Muster müssen also nicht unbedingt Workstations sein, sondern müssen die Versionskontrolle verwenden, aber es ist eindeutig etwas es lohnt sich darüber nachzudenken.
Murph
Wenn Sie release sagen, meinen Sie release für den Build oder release für Benutzer?
JeffO
2
@Murph: Wenn die Änderungen alle X Tage festgeschrieben werden, ist die maximale Menge an Arbeit, die verlegt werden kann, X Tage wert, und das ist wahr, egal wie lange der Entwickler unvermeidlich unterwegs ist. Das Richtige ist, Richtlinien für das häufige Einchecken festzulegen, damit die Menge der verlorenen Arbeit innerhalb akzeptabler Grenzen liegt.
David Thornley
1
@ David mein Kommentar war eine Antwort auf die von @ S.Lott - in Bezug auf das Argument über "verloren". Naja, so ungefähr. Ich möchte, dass Commits im Sinne einer ganzen Reihe von Änderungen atomar sind (ich beginne zu verstehen, warum Rebase ein so attraktiver Begriff ist) - daher sehe ich "Commit to Save" als problematisch an (im Allgemeinen und in Abwesenheit) eines Rebase-Äquivalents). In jedem Fall sollten täglich automatisierte Workstation-Backups erstellt werden, die sich von der Versionskontrolle deutlich unterscheiden.
Murph
22

Anstatt einen Standard für die Organisation Ihrer Arbeitsstationen durchzusetzen, sollten Sie einen Standard durchsetzen, bei dem alle Arbeiten am Ende eines jeden Tages eingecheckt werden . Die Eincheckvorgänge können in Filialen erfolgen, wenn sie noch unvollständig sind.

Auf diese Weise sollte niemand jemals auf die Workstation eines anderen Entwicklers zugreifen müssen.

Ich würde mir vorstellen, dass diese Richtlinie auf Widerstand stoßen würde, aber nichts im Vergleich zu dem, was ich erwarten würde, wenn Sie Regeln für die Organisation Ihrer Workstation durchsetzen würden.

Kris
quelle
1
Wie oft würden Sie die Niederlassung zusammenlegen? Jedes Mal, wenn Sie das Gefühl hatten, es sei stabil?
Jon Hopkins
2
@ Jon Hopkins: "Releasable" ist einfacher zu verwalten als "Stable". Releasable enthält Stable sowie Product Owner ist bereit dafür. Und Sie werden eine Menge von Branch-to-Release-Verarbeitung durchführen. Branch-to-Stable hat zu viel Potenzial für Subjektivität und eine Diskussion über "Arbeit für mich".
S.Lott
2
-1 Ich bin damit nicht einverstanden, ohne viel Qualifikation. Checkins sollten an einem logischen Punkt stattfinden - und nicht willkürlich am Ende des Tages. (Ja, wir sollten versuchen, nicht abzureisen, bis wir einen vernünftigen Haltepunkt erreicht haben, aber das Leben kooperiert nicht immer.) Backups sollten unterschiedlich sein. Und wir müssen alle ein bisschen weniger Wert auf den Zugang zu unseren Kisten legen (keine Änderungen an, Zugang zu)
Murph
1
-1 weil dies keine Szenarien wie "Ich fühle mich wirklich krank, ich gehe jetzt nach Hause. Hmm, besser noch 30 Minuten vorbereiten, damit ich den Build nicht abbreche, wenn ich einen Commit mache."
Gary Rowe
2
@Murph Das Einchecken in 'trunk' oder 'mainline' (wie auch immer Sie es nennen möchten) sollte nur so erfolgen, wie Sie es beschreiben. Es ist jedoch nichts Falsches daran, dass Entwickler "ihre Arbeit am Ende des Tages retten", indem sie sich auf einen persönlichen Zweig festlegen (obwohl dies mit git oder mercurial viel einfacher ist als mit SVN). Und verglichen mit der Durchsetzung von Richtlinien zur Konfiguration von Entwicklerarbeitsstationen (von der wir ausgegangen sind) ist dies eine ausgesprochen vernünftige Lösung.
Kris
6

Ich sage dir die Wahrheit, ich fühle mich unwohl über die Idee, dass sich jemand auf meinem Computer anmeldet und meine Sachen durchstöbert. Zugegeben, es ist die Ausrüstung und das Eigentum des Unternehmens, aber es ist einfach eine schlechte Sache.

Als ich das letzte Mal für ein Wochenende abreiste, haben die Jungs die Server mit der Datenbank- und Quellcodeverwaltung neu konfiguriert und es aus irgendeinem Grund für notwendig gehalten, sich an meinem Computer anzumelden und das System für die neue Einstellung neu zu konfigurieren.

Schade, dass sie keine Ahnung hatten, was sie taten und einen Prototyp gelöscht haben, an dem ich die letzten zwei Monate gearbeitet hatte.

Es wäre nicht passiert, wenn die richtige Kommunikation zustande gekommen wäre. Das brauchen Sie auch. Gehen Sie zu diesem Entwickler und finden Sie den Stand der Dinge heraus. Bitten Sie die Leute noch besser um einen Bericht, bevor sie in Urlaub gehen, damit Sie eine fundierte Entscheidung treffen, ob Sie etwas von ihnen brauchen oder nicht.

Aber leg dich nicht mit den Arbeitsplätzen der Leute an.

PS Wir haben eine Konvention für eine Verzeichnisstruktur, aber der Hauptgrund für die Existenz ist eine Mischung aus Verlauf / Konfiguration - stellen Sie sie an eine andere Stelle und sie wird nicht kompiliert.


quelle
3
@Murph: Sich krank zu machen, begleitet von der dringenden Notwendigkeit, etwas aus seinem System zu holen, ist eine sehr seltene Situation. Vielleicht sind keine Standardisierungsbemühungen wert.
1
Ich kann verstehen, warum jemand Ihre E-Mails lesen und nichts auf Ihrem Computer ändern sollte, aber wie wäre es, wenn es Standard wäre, Ihre Codeverzeichnisse (schreibgeschützt) freizugeben? Das würde das meiste umgehen, was ich als Ihre Einwände empfinde, aber den Leuten trotzdem die Möglichkeit geben, im Notfall zu Ihrer Arbeit zu kommen.
Jon Hopkins
3
Kein Backup auf diesem Prototyp?
JeffO
2
@Developer Art, warum haben Sie nicht in einem Zweig des Versionierungssystems gearbeitet?
1
@ DeveoperArt, was meinst du mit "diese Option nicht verwenden"? Du meinst, es gab keine Möglichkeit für dich, einfach eine eigene Niederlassung zu gründen? Haben sie die Verzweigung irgendwie deaktiviert? Ich habe noch nie von dieser Möglichkeit gehört. Trotzdem hätten Sie Ihr eigenes "git" -Repository (oder sogar "svn" -Repository) auf Ihrem eigenen lokalen Computer (möglicherweise auf Dropbox oder einem Netzwerklaufwerk gesichert) erstellen können, ohne andere Personen einzubeziehen. Ich kann mich einfach nicht persönlich darauf beziehen, 2 Monate (oder sogar 2 Stunden wirklich) an etwas zu arbeiten , ob "wichtig" oder nicht, und nur 1 Kopie davon zu haben.
JoelFan
6

Vor ein paar Monaten arbeitete ich an einem ziemlich großen Projekt und musste die Arbeit abrupt verlassen, als ich herausfand, dass ich ins Krankenhaus eingeliefert wurde. Ich hatte keine Zeit, meinen neuesten Code für das Projekt einzuchecken.

Glücklicherweise ist es hier üblich (wenn auch nicht "notwendig"), Code zu speichern /var/www/ourdomain.com, um die Produktion nachzuahmen. Mit solch einer logischen und leicht zu befolgenden Konvention war es für einen Mitarbeiter einfach, sich bei meinem Computer anzumelden und meine neuesten Änderungen abzurufen.

Ich denke, einige Konventionen sind gut. Obwohl ich Bobby zustimme, wenn er sagt

"Wenn es nicht in der Quellcodeverwaltung ist, existiert es nicht."

Eine sinnvolle Ergänzung für den Arbeitsbereich eines jeden Programmierers könnte ein Front-Bay-Hot-Swap-SATA-Laufwerk sein, auf dem alle Quell- und Entwicklungsprojekte gespeichert werden können. Auf diese Weise kann ein Mitarbeiter bei Auftreten eines solchen Problems problemlos neue Quelländerungen am Projekt abrufen, ohne sich bei der Entwickler-Workstation anmelden zu müssen.

Craige
quelle
"... es existiert nicht". Für andere ist das.
4

Im ersten Teil Ihrer Frage werden Kommunikationsprobleme in Ihrem Team klar identifiziert. Haben Sie tägliche Stand-ups ausprobiert ?

Ich stimme Ihnen zu, wenn Sie sagen, dass Normen zu Ineffizienz führen können, wenn sie zu streng sind. Standards müssen vom Team festgelegt werden , an denen alle beteiligt sind.

In Ihrem Fall würde ich einige Tage warten, nachdem der betroffene Entwickler wieder bei der Arbeit ist. Dann organisieren Sie ein Meeting, um über diese Standards zu sprechen.

Nennen Sie keine Personen oder bestimmte Dinge, die Sie gesehen haben, um psychologische Blockaden und Widerstände zu vermeiden. Halten Sie es allgemein, das Ziel hier ist es, Input von allen zu bekommen, einschließlich des Entwicklers, von dem Sie denken, dass er seine Arbeitsweise verbessern sollte. Der Typ kann Ihre Organisation auch als Chaos betrachten.

Präsentieren Sie während des Meetings das Problem und fragen Sie klar, wie das Team die Situation verbessern könnte.

Das (ganze) Team entscheidet, was zu tun ist.


quelle
2

Dieser Benutzer litt wahrscheinlich an einem Mangel an geeigneten Werkzeugen. Insbesondere die Verwendung eines verteilten Versionskontrollsystems hätte für ihn die Notwendigkeit beseitigt, unterschiedliche Codeverzeichnisse in unterschiedlichen Zuständen zu haben. Er hätte das alles in Zweigen behalten und viel glücklicher sein können.

Nein, ich möchte nicht, dass mir Standards auferlegt werden, wie ich meine eigene Workstation organisiere. Ich kehre gerade dazu zurück, meine Abteilung auf eine IDE zu standardisieren (mein Chef möchte WIRKLICH, dass wir alle in Eclipse sind, weil es das ist, was er verwendet und gut weiß, auch wenn IMO nicht das beste Werkzeug für meinen Job ist).

Lassen Sie die Entwickler alles tun, was ihnen Spaß macht. Ein komfortabler Entwickler ist produktiver als ein unkomfortabler. Und wenn jemand NICHT produktiv ist und Sie vermuten, dass er vor Ort mit den Tools herumfummelt, ist dies eine Gelegenheit zum Trainieren und kein guter Zeitpunkt, um neue Regeln zu erstellen.

Dan Ray
quelle
1
Wie würde das helfen? Die Frage würde immer noch bestehen, wir würden nur darüber reden, welcher Zweig in seinem lokalen DVCS-Repository und nicht welcher Arbeitsbereich.
Jon Hopkins
Gehen Sie nicht von den Tools aus, sondern schätzen Sie auch, wie Sie die fehlenden Tools am besten nutzen können. Was für manche offensichtlich ist, muss anderen gezeigt werden. Das Antimuster von Loskopien des Quellbaums habe ich einige Male gesehen. Ja, DVCS kann helfen - aber in diesem Zusammenhang hätten wir immer noch ein Problem damit, den richtigen Zweig zu identifizieren und - wenn wir weiter gehen möchten - diese Work In Progress-Zweige verfügbar zu machen. @Jon Das lokale DVCS sollte automatisch auf die "Sicherung" des Repositorys dieses Benutzers pushen. Zumindest wenn sich das Problem von ihrer Kiste löst.
Murph
@ Jon - Ich denke, der Punkt ist, dass seine verschiedenen Zweige sich in etwas befinden würden, in das Zusammenführungsfunktionen integriert wären, anstatt nur verstreute Verzeichnisse mit divergierenden Dateien. Außerdem wäre es eine Trainingsmöglichkeit gewesen, ihn für das DVCS zu gewinnen.
Dan Ray
1
@Dan - Aber einige dieser Zweige sind Sackgassen - Proofs of Concept, Dinge mit sortiertem Debug-Code, in die man nicht eingebunden werden möchte, ältere Versionen. Die Tatsache, dass Sie über eine Zusammenführungsfunktion verfügen, hilft nicht, wenn Sie nicht wissen, was Sie zusammenführen sollen.
Jon Hopkins
@ Jon - Ich denke, das ist wahr. Vielleicht gibt es einfach keine Genesung von jemandem, der sich wirklich dem Chaos verschrieben hat.
Dan Ray
2

An meinem alten Arbeitsplatz hatten wir ein System, bei dem jede Aufgabe in unserem Bugtracking einen eigenen Zweig in der Quellcodeverwaltung hatte. Es wurde verstanden, dass die meiste Zeit ein Fehler / eine Aufgabe von einem Entwickler beseitigt wird, sodass fehlerhafter Code in die Quellcodeverwaltung eingecheckt werden konnte.

Sobald sich der Code in einem Zustand befand, in dem er im Entwicklungszweig stabil war, wurde ein Rebase durchgeführt, indem der Code aus dem Zweig, in den Sie integrieren wollten, hineingezogen wurde. Sobald Sie diese Zusammenführung getestet haben, müssen Sie den Code lediglich für den Integrationszweig festschreiben. Es ist kein Zusammenführen erforderlich, da Sie die Zusammenführung für Ihren Zweig bereits durchgeführt haben.

Auf diese Weise ersparen Sie Entwicklern das Problem, dass sie sich Sorgen um fehlerhaften Code machen, und können mit der Anwendung der Sozialpolitik beginnen, dass das Einchecken von Code vor dem Verlassen des Büros in der Nacht sehr akzeptabel ist - nett und sicher.

Verschütten
quelle
2

Rufen Sie in dieser besonderen Situation die Person zu Hause an, und machen Sie deutlich, dass Sie nicht daran zweifeln, dass sie krank ist. Sie müssen jedoch jemanden bitten, seine Arbeit fortzusetzen, und fragen Sie, wo sich die neuesten Informationen befinden und in welchem ​​Zustand.

Dann müssen Sie sich überlegen, was Sie von hier aus tun sollen. Wenn das Problem darin besteht, dass Personen zu selten einchecken, sollten Sie ein verteiltes Versionsverwaltungssystem verwenden, mit dem Personen in Zweigstellen arbeiten können, ohne sich gegenseitig zu stören.

Wenn das Problem darin besteht, dass Sie keine Entwickler mögen, die mehrere Arbeitsbereiche auf ihrem Computer haben, sollten Sie es hinter sich lassen. Der Arbeitsstil ist individuell und Sie sollten sich grundsätzlich von ihren Systemen fernhalten, solange sie den Regeln für das Quell-Repository entsprechen. Persönlich checke ich sehr häufig eine neue Kopie für verschiedene Projekte aus und räume nur ab und zu auf.

Wenn das Problem darin besteht, dass Sie nicht wissen, was Ihr Entwickler tut, ist das Problem politisch und nicht technisch und Sie müssen Ihren Führungsstil ändern. Bitte denken Sie daran , dass die Entwickler sind hoch qualifiziertes Personal , die selten wie Mikromanagement und Sie müssen delegieren. Andernfalls werden Sie die erfahrensten Personen von sich weisen.

Daher würde ich empfehlen, eine bessere Arbeitsweise mit dem gemeinsamen Quellrepository zu fördern - sagen wir, es ist in Ordnung, in Zweigstellen zu arbeiten, und lassen Sie sie häufig festschreiben, solange sie ihre lokale Kopie täglich mit dem Master-Repository synchronisieren (wie sie es tun) wird immer Entwicklungsarbeit in einer Branche leisten, dies wird andere nicht beeinflussen).


quelle
1
Ich habe in der Frage ausdrücklich gesagt, dass die Person nicht kontaktiert werden kann.
Jon Hopkins
@Jon, in diesem Fall betrachte seine unvollendete Arbeit als verloren, weise sie einem anderen Programmierer zu und beginne dann darüber nachzudenken, warum dies überhaupt passiert ist.
Es gibt eine logische Inkonsistenz: "Sie wissen nicht, was Ihr Entwickler tut" und "Sie müssen delegieren", was bedeutet, dass Sie wissen, was er tut, aber möglicherweise nicht, wie - was wiederum der Grund ist, warum Sie den Code abrufen müssen ... (Ja, Kommunikation kann helfen, dies zu klären, aber wenn Sie darauf vertrauen, dass Ihre Entwickler ein Problem lösen, und es ist ein kleines Problem - für einen bestimmten Entwickler -, dann kann "go fix this, bye!" so viel Management sein wie es ist erforderlich).
Murph
@Murph, dann erzwinge eine Regel von "Festschreiben oft - in einer Filiale" und drücke mindestens täglich auf "Zentral".
1

Wie gehen Sie mit solchen Situationen um?

Sie können dieses Problem mit einem Versionsverwaltungssystem lösen, das persönliche instabile Zweige unterstützt und häufige Commits verwaltet. Ein Commit muss nicht erfolgen, wenn ein ganzes Problem gelöst ist. Es sollte kommen, wann immer Sie von der Quellcodeverwaltung profitieren. Das Ende des Tages ist einer von vielen Punkten, an denen ein Commit stattfinden sollte, damit Sie sehen können, wo Ihre Änderungen vorgenommen wurden, diese sichern und sie Ihrem zukünftigen Selbst oder anderen erklären können.

Oder bitten Sie Entwickler, Standards in diesem Bereich einzuhalten - Verwendung bestimmter Verzeichnisse, Benennung von Standards, Notizen in einem Wiki oder was auch immer?

Wir haben ein umfangreiches Konfigurationsdokument für die Umgebung, das Konventionen, aber keine Standards angibt. Standards gelten für Produktionscode und Umgebungen. Viele unserer Entwicklungstools sind jedoch so eingerichtet, dass sie die Konventionen unterstützen, und die meisten Entwickler geben sich keine Mühe, sich dem Trend zu widersetzen.

Thomas Langston
quelle