Страница 1 из 1

Средства для проверки copy-paste кода

СообщениеДобавлено: 27.06.2012 16:21:04
Brainenjii
Подскажите, пользуется ли кто чем, и чем можно пользоваться вообще? ^_^
Спасибо?

Re: Средства для проверки copy-paste кода

СообщениеДобавлено: 28.06.2012 01:14:38
Little_Roo
Brainenjii писал(а):Подскажите, пользуется ли кто чем, и чем можно пользоваться вообще? ^_^
Спасибо?

Вот проверил - ваш текст копипастится... а конкретней можно? :shock:

Re: Средства для проверки copy-paste кода

СообщениеДобавлено: 28.06.2012 01:30:12
Kitayets
код "скопипастил" - нажми ctl + F9, скомпилится ? - значит скопипащенный код в норме :)

Re: Средства для проверки copy-paste кода

СообщениеДобавлено: 28.06.2012 12:26:47
Brainenjii
Имеется в виду - есть ли инструменты, показывающий - сколько участков кода похожих на скопированные из других мест этого же проекта... Как-то так

Re: Средства для проверки copy-paste кода

СообщениеДобавлено: 28.06.2012 16:26:05
svk12
Поиск - Найти в файлах?

Re: Средства для проверки copy-paste кода

СообщениеДобавлено: 28.06.2012 16:37:51
Brainenjii
Код: Выделить всё
program project4;

{$mode objfpc}{$H+}

uses
  {$IFDEF UNIX}{$IFDEF UseCThreads}
  cthreads,
  {$ENDIF}{$ENDIF}
  Classes;

Procedure Proc1;
Var
  aString: String = 'Hello world';
  i: Integer;
Begin
  For i := 1 To Length(aString) Do
    Case aString[i] Of
      'H': WriteLn('We meet letter H!');
      'w': WriteLn('We meet letter w!');
      ' ':
        Begin
          WriteLn('We meet space!');
          WriteLn('First word is "' + Copy(aString, 1, i - 1) + '"');
        End;
    End;
End;

Procedure Proc2;
Var
  aString: String = 'Hi world';
  i: Integer;
Begin
  For i := 1 To Length(aString) Do
    Case aString[i] Of
      'H': WriteLn('We meet letter H!');
      'w': WriteLn('We meet letter w!');
      ' ':
        Begin
          WriteLn('We meet space!');
          WriteLn('First word is "' + Copy(aString, 1, i - 1) + '"');
        End;
    End;
End;

begin
  Proc1;
  Proc2;
end.

Очевидно, что Proc1 получено копипастой из Proc2. Я хочу найти инструмент, который проанализировав исходные файлы проекта ткнёт меня носом - где, возможно, было допущено копирование... Чтобы дать задание тем, кто это наваял переписать, без необходимости вручную пролапачивать десятки тысяч строк кода... Как-то так >_<

Re: Средства для проверки copy-paste кода

СообщениеДобавлено: 28.06.2012 16:48:32
stikriz
Brainenjii писал(а):Подскажите, пользуется ли кто чем, и чем можно пользоваться вообще? ^_^

Преподаем? Копи-пасте - это основной навык написания программ - нельзя покушаться на святое!
А по делу, есть програмулины для создания патчей, правда, они показывают разницу, и создают патч - что поменялось.

Re: Средства для проверки copy-paste кода

СообщениеДобавлено: 28.06.2012 17:22:37
Brainenjii
с патчами это всё конечно хорошо, но из тех что я знаю все программы такого толка прибиты шурупами к номерам строк, и идентичный код в разных местах считают разными творениями. Что меня мало интересует. Ищется именно инструмент по поиску кода, сделанного копированием. Не могу поверить, что такого нет, просто не могу сформулировать запрос в гугл...

Re: Средства для проверки copy-paste кода

СообщениеДобавлено: 28.06.2012 18:56:07
Sergei I. Gorelkin
Эту хрень нужно искать по словам text similarity, т.к. обычно ищут сходство текста безотносительно того, исходник это или нет.
Вот одна из утилит: http://dickgrune.com/Programs/similarity_tester/

Re: Средства для проверки copy-paste кода

СообщениеДобавлено: 28.06.2012 19:20:40
Brainenjii
Спасибо! По описанию то что нужно

Re: Средства для проверки copy-paste кода

СообщениеДобавлено: 24.07.2012 16:23:15
Manila
ДА спасибо! Мне тож помогло с разрешением некоторой проблемы.