2009-03-26 14 views
6

Mam dużą bazę kodu i jest mnóstwo powtarzających się lub prawie powtarzających się kodów w całym miejscu, jest to tak samo trudne jak kod, ale śledzenie "duplikatów" jest trudne, więc zastanawiałem się, czy są jakieś narzędzia do wyszukiwania potencjalnego kodu DRYable, coś w rodzaju narzędzia różnicowego lub analizatora odległości Hamminga, nie wymagają znajomości konkretnego języka ani niczego w tym stylu.Czy są tam jakieś narzędzia kodu DRYer?

Wszelkie wskazówki jako narzędzie takie jak to?

+0

W jakim języku szukasz? – Brian

+0

Około 5 języków :) –

Odpowiedz

1

Duplo (open source) działa w C, C++, Java, C# i VB.Net. Raz spróbowałem i znalazłem wystarczająco zduplikowany kod, aby utrzymać mnie w zatrudnieniu przez długi czas.

Słyszałem o Simian (komercyjnym), ale go nie wypróbowałem.

+0

Duplo wygląda świetnie, to mniej więcej to, czego szukałem. –

2

Jeśli pracujesz w Ruby, możesz spróbować this.

+0

To są sprytne narzędzia, od dawna uważałem coś takiego, ale nigdy się do tego nie zabrałem. –

1

używam Simian w VS. Jest całkiem niezły, nie wspaniały.

1

Klon Dr od Semantic Designs to produkt komercyjny, który znajduje duplikat kodu w wielu różnych językach programowania. http://www.semdesigns.com/Products/Clone/index.html

Duże firmy mogą pozwolić sobie na ten produkt. Osoby ... nie tak bardzo. Szkoda, że ​​nie było takich projektów open source. Może być zabawny projekt do pracy. Gdybyśmy tylko znali społeczność programistów z czasem na ich rękach ...

+0

Jakiś czas? Jestem autorem i pracuję nad CloneDR od 10 lat. –

1

Semantyczne wzory "CloneDR znajdują dokładne i bliskie duplikaty klonów w oparciu o strukturę langauge, więc nie da się ich zwieść białymi zmianami lub podziały linii, wstawione/zmienione komentarze, a nawet zmodyfikowane nazwy zmiennych.

Wykorzystuje parser produkcja przedni kończy pracę z C, C++, C#, Java, COBOL, PHP, Python, Fortran, Ada, ...

Istnieje szereg raportów analitycznych przykładem klonów w internecie strona dla różnych języków.

Powiązane problemy