ReSharper-Code-Bereinigungs- / Neuformatierungscode-Funktion gegenüber Versionskontrollsystemen

8

ReSharper-Code-Bereinigungsfunktion (mit " Mitglieder neu anordnen " und " Reformat-Code "aktiviert) ist wirklich großartig. Wenn Sie eine Layoutvorlage mit XML definieren, reorganisiert eine einfache Tastenkombination Ihre gesamte Quelldatei (oder Ordner / Projekt / Lösung) gemäß den Regeln, die Sie in der Vorlage festgelegt haben.

Wie auch immer, denken Sie, dass das ein Problem in Bezug auf VCS wie Subversion, CVS, Git usw. sein könnte? Gibt es eine Chance, dass es viele unerwünschte Konflikte verursacht?

Danke.

    
Romain Verdier 11.09.2008, 11:32
quelle

9 Antworten

16

Ja, es wird definitiv Probleme verursachen. Zusätzlich zum Erstellen von Konflikten, die manuell gelöst werden müssen, wird beim VCS beim Einchecken einer Datei, die neu formatiert wurde, fast jede Zeile als geändert betrachtet. Dies wird es Ihnen oder einem Teamkollegen erschweren, sich die Geschichte anzusehen und zu sehen, was sich wann geändert hat.

Wenn jeder den Code auf die gleiche Weise automatisch formatiert (dh Sie verteilen diese XML-Vorlage an das Team), funktioniert es möglicherweise gut. Die Probleme kommen nur dann wirklich, wenn nicht alle dasselbe tun.

    
pkaeding 11.09.2008, 11:44
quelle
7

Ich warte auf eine IDE oder einen Editor, der Quellcode immer mit einigen grundlegenden Formatierungsregeln speichert, aber jedem einzelnen Entwickler ermöglicht, den Code in seinem eigenen bevorzugten Format anzuzeigen und zu bearbeiten. Auf diese Weise kann ich meine offene geschweifte Klammer am Anfang der nächsten Zeile und nicht am Ende der aktuellen Zeile platzieren, wo Sie alle Heiden glauben, dass es geht.

Meine Vermutung ist, ich werde lange warten.

    
Julio 11.09.2008 12:12
quelle
7
  • Einfach die gesamte Lösung neu formatieren einmal
  • UND stellen Sie sicher, dass jeder Entwickler verwendet Resharper
  • UND stellen Sie sicher, dass die Formatierung Optionen werden geteilt und versioniert (Codestil-Freigabeoptionen)
Rinat Abdullin 09.10.2008 12:49
quelle
2

Sie können StyleCop verwenden, um eine umfassende Reihe von Standards zu erzwingen, die ziemlich viele dazu zwingt, die gleichen Layoutstile zu verwenden. Dann müssen Sie lediglich eine entsprechende ReSharper-Codestilspezifikation entwickeln und sie an das Team verteilen.

Ich warte immer noch auf jemand anderes, der dies tut , und für JetBrains, um alle Niggling-Details zu bereinigen, die nicht vollständig unterstützt werden, damit ReSharper grundsätzlich die volle StyleCop-Konformität garantieren kann.

    
Daniel Fortunov 11.09.2008 22:56
quelle
2

Es kann definitiv Konflikte verursachen, also würde ich sicherstellen, dass Sie nicht ganze Dateien neu formatieren, wenn es Leute gibt, die parallel daran arbeiten.

    
quelle
0

Es könnte definitiv zu Konflikten führen.

Wenn Sie dies in einer Umgebung mit mehreren Benutzern verwenden möchten, muss die Konfiguration von Resharper Ihren Code nach einer Reihe von Standards formatieren, die in Ihrer Organisation erzwungen werden, unabhängig davon, ob Benutzer Resharper verwenden oder nicht.

>

Auf diese Weise verwenden Sie das Tool, um sicherzustellen, dass Ihr eigener Code den Standards entspricht und nicht Ihre Vorlieben auf die gesamte Codebasis anwendet.

    
Compile This 11.09.2008 11:45
quelle
0

Ich stimme den vorherigen Antworten zu, dass Konflikte möglich und sogar wahrscheinlich sind.

Wenn Sie vorhaben, den Code neu zu formatieren, sollten Sie zumindest sicherstellen, dass Sie die Reformat-Checkins nicht mit denen mischen, die die Funktion des eigentlichen Codes ändern. Auf diese Weise können die Benutzer frühere Check-ins überspringen, bei denen es sich um einfache Neuformatierungen handelt. Es ist auch eine gute Idee, sicherzustellen, dass jeder weiß, dass eine Neuformatierung bevorsteht, damit sie widersprechen können, wenn sie in diesem Bereich fortlaufend arbeiten.

    
Simon Steele 11.09.2008 11:59
quelle
0

Wir arbeiten an etwas, um mit Refactors auf Quellcodeebene zu arbeiten. Wir nennen es Xmerge und es ist jetzt Teil von Plastik . Es ist nur ein erster Ansatz, da wir an fortgeschritteneren Lösungen arbeiten. Überprüfen Sie hier .

    
pablo 02.04.2009 14:18
quelle
0

Es könnte eine gute Idee sein, ein Skript zu schreiben, um jede Version in Ihrem Quellcode-Kontrollverlauf auszuprobieren, die Code-Bereinigung anzuwenden und dann in ein neues Repository zu checken. Dann benutze dieses Repository für alle deine zukünftigen Arbeiten.

    
rjmunro 23.03.2010 13:51
quelle

Tags und Links