Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Delphi Dateistruktur / Merge (https://www.delphipraxis.net/197903-dateistruktur-merge.html)

Emwykey 17. Sep 2018 15:17

Dateistruktur / Merge
 
Hallo zusammen,

in einem Projekt, an welchem mehrere Personen arbeiten befindet sich eine Datei, in welcher Prozeduren aufgerufen werden, die Aktualisierungen an einer Datenbank vornehmen. Aktuell sind die Prozeduren mit einer Nummer benannt und werden nach dieser in der entsprechenden Reihenfolge ausgeführt. Daher kann man in der Datei ohne Rücksprache mit den anderen Personen keine Änderung vornehmen da durch das Merge und wenn 2 Personen zeitgleich dieselbe Prozedur zufügen die Anweisungen von einer Person überschrieben werden.

Ich wollte mal nachfragen, ob Ihr ähnliche Fälle habt, und wenn ja, wie das bei euch gelöst wird. Vielleicht gibt es ja eine Lösung, die etwas einfacher und weniger "gefährlich" ist.

Danke :)

freimatz 17. Sep 2018 16:03

AW: Dateistruktur / Merge
 
mit git

Zacherl 17. Sep 2018 16:04

AW: Dateistruktur / Merge
 
Verstehe ich nicht ganz. Welche Versionsverwaltung verwendet ihr? Git z.B. hat mit solchen Dingen absolut keine Probleme. Konflikte müssen doch eh per Hand aufgelöst werden vor einem Merge :gruebel:

Emwykey 19. Sep 2018 06:58

AW: Dateistruktur / Merge
 
Das Problem ist nicht, dass der Konflikt erkannt wird, ich hoffe nur auf eine Lösung die Konflikte vermeidet....
das ist halt jedes mal Mehraufwand

Und je nachdem ob die Routine schon ausgeführt wurde darf die Nummer auch nicht verändert werden, dass kann aber unabhängig von dem Commit in der Versionskontrolle erfolgen

franktron 19. Sep 2018 09:49

AW: Dateistruktur / Merge
 
Wenn ich das richtig verstanden habe ist nicht der merge das Problem sondern das 2. Leute den gleichen Procedurennamen nutzen.
Dann müsst ihr das intern anders regeln z.b. Procedure Ma_Kürzel_Nr

freimatz 19. Sep 2018 15:13

AW: Dateistruktur / Merge
 
Oder mit Nummern ziehen?

Hobbycoder 19. Sep 2018 16:05

AW: Dateistruktur / Merge
 
Oder, wenn schon mit Nummern gearbeitet wird, dann bekommt jede Person ihre Persönliche Endnummer.

Person A (Endziffer 1) fügt die 15. Prozedur hinzu: Prozedurnummer = 151
Person B (Endziffer 2) fügt gleichzeitig die 15. Prozedur hinzu: Prozedurnummer = 152

Vielleicht trifft das das so, wie du es meinst. Ansonsten habe ich dich falsch verstanden.

Delphi.Narium 19. Sep 2018 17:43

AW: Dateistruktur / Merge
 
@HobbyCoder
Die Nummer soll aber die Reihenfolge der Prozedurausführung bestimmen.

In Deinem Beispiel "gewinnt" dann immer Person A.

Die Aufgabenstellung ist aber nicht klar genug definiert, um davon ausgehen zu können, dass das so gewünscht ist.

@Emwykey
Wir müssen wohl etwas mehr über den Sinn und Zweck der Aufgabenstellung erfahren, um funktionstüchtige Vorschläge machen zu können.

Momentan kommen nur Ideen, die das Problem irgendwie "umschiffen" könnten, ohne die Gewähr, dass die daraus resultierende Lösung wirklich den Anforderungen entspricht.

hoika 19. Sep 2018 18:40

AW: Dateistruktur / Merge
 
Hallo,
abfangen kannst Du sowas gar nicht, wenn sich jemand nicht an die Absprachen hält.

Zitat:

Ich wollte mal nachfragen, ob Ihr ähnliche Fälle habt, und wenn ja, wie das bei euch gelöst wird
Unit Tests mit Mock Objects für den DB-Zugriff

Hobbycoder 19. Sep 2018 22:49

AW: Dateistruktur / Merge
 
Zitat:

Zitat von Delphi.Narium (Beitrag 1413678)
@HobbyCoder
Die Nummer soll aber die Reihenfolge der Prozedurausführung bestimmen.

In Deinem Beispiel "gewinnt" dann immer Person A

Ich habe auch nie was anderes behauptet und war auch grundsätzlich davon ausgegangen, dass der TE solche Einschränkungen selbst erkennen kann.

Aber ohne die notwendige Kommunikation zwischen den Prozedurautoren kann eine genaue Reihenfolge eh nicht bestimmt werden. Es geht in erster Linie darum, dass keine Prozedurnummern doppelt verwendet werden. Und da er von einer näheren Kommunikation zwischen den Autoren nichts erwähnt hat, bin ich davon ausgegangen das diese sich Möglicherweise auch gar nicht untereinander beeinflussen. So wie ich es verstanden habe, ist lediglich sicherzustellen, dass die Prozeduren eines Autors in der Reihenfolge abgearbeitet werden sollen, wie er sie erfasst hat.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:37 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz