Unterschied Merge - Neuimplementierung?

OP #5057293
Gibt es einen objektiven Unterschied zwischen einem Merge und einer 
Neuimplementierung?

Bisher bin ich davon ausgegangen das bei weniger als 50 % geänderter 
Codezeilen ein Merge vorliegt, ab 50 % eine Neuimplementierung (mit 
Wiederverwendung von altem Code).
hä? schrieb:
> Erwin M. schrieb:
>> Gibt es einen objektiven Unterschied zwischen einem Merge und
>> einer
>> Neuimplementierung?
>
> Ja, aber der subjektive überwiegt.

Schön ausgedrückt. :)

In Langfassung: Eine objektive Unterscheidung würde eine offizielle 
Definition oder zumindest eine allgemein akzeptierte Konvention der 
Begriffe "Merge" und "Neuimplementierung" voraussetzen. Solange du 
solche Definitionen/Konventionen nicht vorliegen hast bleibt dir wohl 
nur eine subjektive Bewertung. Was i.d.R. allerdings auch nicht tragisch 
ist. Im Zweifelsfall schreibst du deine Bewertungskriterien halt mit 
dazu. Fertig. Falls das nicht möglich ist dann bewerte halt nach deinem 
persönlichen Gusto - aber halt unter der Nebenbedingung das du deinen 
Standpunkt auf Nachfrage hin vertreten (aka begründen) kannst. Das 
50%-Kriterium liefert, solange keinerlei andere Anhaltspunkte vorliegen, 
durchaus mal eine vertretbare Daumenregel.

Nichtsdestotrotz würde ich - nicht nur im Zweifelsfall - einen Blick auf 
den Quellcode werfen und eine wohl subjektive Entscheidung treffen. 
Welche ich anschließend auch vertreten kann. 50 Prozent hin oder her...
Ein anderer Gesichtspunkt. Wenn man sich als neuer brillianter 
Mitarbeiter positionieren will, macht man natuerlich eine 
Neuentwicklung, weil das Bestehende sowieso ueberholt, und den neuen 
Anforderungen nicht mehr gerecht ist.
Egal wovon man eigenlich ausgeht.

Wenn man keine Lorbeeren abraeumen will, weil der Chef die Vorversion 
geschrieben hat oder man auch kein Risiko eingehen will, resp massive 
Zeitueberschreitungen befuerchtet, macht man ein Merge. Weil eine 
Neuentwicklung enormen Aufwand bedeutet und sowieso nicht in den 
Zeitplan passen wuerde. So hat man eine Neuentwicklung aufgeschoben, 
nicht vermieden.
Auch egal was man denn womit mergt. Das Mergen kann dann trotzdem 
unerwartete Seiteneffekte, sprich Zeitverzoegerungen verursachen.
Erwin M. schrieb:
> Bisher bin ich davon ausgegangen das bei weniger als 50 % geänderter
> Codezeilen ein Merge vorliegt, ab 50 % eine Neuimplementierung (mit
> Wiederverwendung von altem Code).

Diese Unterscheidung kann nicht wirklich sinnvoll sein. Im Endeffekt 
würde dann nämlich im Grenzbereich von einer einzigen Zeile Code mehr 
oder weniger abhängen, ob nun das eine oder das andere vorliegt.
Irgendwie ist da für mich nicht irgendeine Prozent-Grenze, sondern es 
sind zwei ganz unterschiedliche Dinge.
Bei einem Merge nehme ich zwei unterschiedliche Versionen des Code, die 
sich gegenüber einer gemeinsamen Basis separat von einander 
weiterentwickelt haben und führe die zusammen. Also wenn z.B. nach einer 
2.0-Release eine 2.1 für Bugfixes und parallel dazu eine 3.0 mit neuen 
Features entwickelt wird. Irgendwann vor der Release von 3.0 muss man 
dann die Bugfixes aus 2.1 auch übernehmen, damit da nicht plötzlich 
wieder die schon eigentlich gefixten Bugs wieder drin sind. Das ist 
mergen.

Es bleibt unabhängig davon die Frage, wieviel Prozent neu sein müssen, 
damit man von einer Neuimplementation sprechen kann. Das Wort suggeriert 
mir aber, dass der Code komplett oder zumindest fast komplett neu 
geschrieben ist und nicht nur zur Hälfte.
Gast
Sapperlot W. schrieb:
> Ein anderer Gesichtspunkt. Wenn man sich als neuer brillianter
> Mitarbeiter positionieren will, macht man natuerlich eine
> Neuentwicklung, weil das Bestehende sowieso ueberholt, und den neuen
> Anforderungen nicht mehr gerecht ist.

Forget it! Als brillianter Mitarbeiter entwickelst Du eine bestehende SW 
(-Komponente) so weiter, dass sie am Ende nur noch Du selbst verstehst. 
Natürlich muss sie dann objektiv besser sein, mindestens jedoch 
subjektiv, aber dann für alle. Du darfst keine gravierenden Fehler 
machen,  bzw. keine, die die anderen bemerken. Also: alles muss subber 
sein. Am besten kannst Du dann noch auf die "Evolution" von der 
ursprünglichen SW zu deinem Wunderwerk hinweisen. Dann erst bist Du 
richtig gut.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 9 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.