2009-05-15 15 views
2

In den Projekten, in denen ich arbeite, scheint das größte Problem beim Zusammenführen von Änderungen in den Windows Forms/GUI-Änderungen zu liegen. Wir verwenden Araxis Merge, um die Änderungen zu vergleichen, aber es können Hunderte von Änderungen pro Datei sein. Und Sie müssen sich Notizen machen und/oder Dinge umbenennen, um sicherzustellen, dass Sie wissen, was Sie verschmelzen.Zusammenführen von GUI-Änderungen

Ein großes Problem ist, wenn Entwickler neue Steuerelemente erlauben, die Standardnamen zu verwenden. Dann wird es zum Beispiel 2 Label220's geben. Dann wird die Zusammenführung die Hälfte des Codes zusammenführen, aber andere Teile getrennt lassen; Das bricht im Grunde nur die GUI.

Gibt es irgendwelche Tools zum Verschmelzen von .NET (Windows Forms) GUIs besser als auf Codeebene?

Wir verwenden Subversion. Ist Mercurial hier besser?

Antwort

3

ich Subversion und arbeiten in einem kleinen Team mit dem Windows Forms verwenden GUI-Anwendungen, hier ein paar Vorschläge sind:

1) Teilen Sie Ihre komplexen Komponenten der Benutzeroberfläche in mehrere Bedienelemente auf. Dies hat den zusätzlichen Vorteil, dass Sie Ihren UI-Code bereinigen und die Wiederverwendung fördern.

2) Erfordern Sie eine Sperre für Änderungen an der Benutzeroberfläche für die betroffenen Dateien zuerst. Solange Ihre komplexen Formulare in verschiedene Benutzersteuerelemente aufgeteilt sind, können Sie Sperren verwenden und weiterhin mehrere Entwickler an einem einzigen Formular arbeiten lassen.

3) Verbringen Sie mehr Zeit mit UI-Prototyping, um die Anzahl der Änderungen zu verringern. Wenn Sie mehrere Iterationen von UI-Designs durchlaufen, wird die Qualität des fertigen Produkts erheblich verbessert.

+0

In der Stunde Firma neigen wir dazu, zu verwenden: "Sperren Sie alle Formen, die Sie bearbeiten" -Ansatz, um das Zusammenführen zu vermeiden, da es sehr schmerzhaft sein kann. – bbmud

+0

Ich habe festgestellt, dass ich Benutzersteuerelemente nicht mag und lieber direkt von der TextBox absteigt (als ein Beispiel). Ansonsten mag ich diese Antwort. – overslacked