Kom ihåg mig?
Home Menu

Menu


Intelligent diff-verktyg

 
Ämnesverktyg Visningsalternativ
Oläst 2009-03-06, 23:01 #1
etanders etanders är inte uppkopplad
Medlem
 
Reg.datum: Dec 2004
Inlägg: 160
etanders etanders är inte uppkopplad
Medlem
 
Reg.datum: Dec 2004
Inlägg: 160
Har funderat lite på en sak, har googlat lite grann men inte hittat rätt ännu i alla fall, så jag vet inte om det jag söker finns. Känns som om någon annan måste ha funderat på samma sak. Vet ni om detta finns? Vad det handlar om är en slags intelligent diff-verktyg.

Jag använder svn för versionshantering, och därigenom TortoiseMerge för att jämföra ändringar i filer. Emellanåt använder jag även WinMerge. Det fungerar för det mesta bra, men kan bli lite rörigt om man har gjort mycket refactoring i en fil (eller om någon annan gjort mycket refactoring och jag får reda ut konflikterna... B) )

Finns det något diff-verktyg som är smart nog att känna av vilka förändringar som påverkar funktionaliteten? Jag tänker mig alltså att verktyget skulle kunna märka om man bara bytt ordning på metoderna, vilket naturligtvis inte påverkar funktionaliteten. Andra saker som skulle kunna hanteras är namnbyte på privata metoder eller variabler, påverkar inte heller koden rent logiskt.

Vill man gå ytterligare ett steg kan man tänka sig att ännu mer avancerade saker. Jag menar, det finns ju verktyg som föreslår förbättringar när man skriver sin kod (t.ex. det fantastiska ReSharper till Visual Studio). Några exempel:

Kod:
// Före
private void MyMethod(bool b) {
  if (!b) {
    DoSomething();
    DoSomethingElse();
  }
}

// Efter
private void MyMethod(bool b) {
  if (b) {
    return;
  }
  DoSomething();
  DoSomethingElse();
}
Kod:
// Före
if (x == 1) {
  SomethingA();
} else if (x == 2) {
  SomethingB();
} else {
  SomethingC();
}

// Efter
switch (x) {
  case 1:
    SomethingA();
    break;
  case 2:
    SomethingB();
    break;
  default:
    SomethingC();
    break;
}
Detta var ganska enkla exempel, men bara för att visa på idén. Är det någon som känner till om något liknande finns?
etanders är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 22:22.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017