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

Общие вопросы программирования, алгоритмы и т.п.

Модератор: Модераторы

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

Сообщение Brainenjii » 27.06.2012 16:21:04

Подскажите, пользуется ли кто чем, и чем можно пользоваться вообще? ^_^
Спасибо?
Аватара пользователя
Brainenjii
энтузиаст
 
Сообщения: 1351
Зарегистрирован: 10.05.2007 00:04:46

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

Сообщение Little_Roo » 28.06.2012 01:14:38

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

Вот проверил - ваш текст копипастится... а конкретней можно? :shock:
Аватара пользователя
Little_Roo
энтузиаст
 
Сообщения: 639
Зарегистрирован: 27.02.2009 19:56:36
Откуда: Санкт-Петербург

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

Сообщение Kitayets » 28.06.2012 01:30:12

код "скопипастил" - нажми ctl + F9, скомпилится ? - значит скопипащенный код в норме :)
Kitayets
постоялец
 
Сообщения: 171
Зарегистрирован: 05.05.2010 21:15:24

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

Сообщение Brainenjii » 28.06.2012 12:26:47

Имеется в виду - есть ли инструменты, показывающий - сколько участков кода похожих на скопированные из других мест этого же проекта... Как-то так
Аватара пользователя
Brainenjii
энтузиаст
 
Сообщения: 1351
Зарегистрирован: 10.05.2007 00:04:46

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

Сообщение svk12 » 28.06.2012 16:26:05

Поиск - Найти в файлах?
svk12
постоялец
 
Сообщения: 408
Зарегистрирован: 09.06.2008 18:42:47

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

Сообщение Brainenjii » 28.06.2012 16:37:51

Код: Выделить всё
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. Я хочу найти инструмент, который проанализировав исходные файлы проекта ткнёт меня носом - где, возможно, было допущено копирование... Чтобы дать задание тем, кто это наваял переписать, без необходимости вручную пролапачивать десятки тысяч строк кода... Как-то так >_<
Аватара пользователя
Brainenjii
энтузиаст
 
Сообщения: 1351
Зарегистрирован: 10.05.2007 00:04:46

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

Сообщение stikriz » 28.06.2012 16:48:32

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

Преподаем? Копи-пасте - это основной навык написания программ - нельзя покушаться на святое!
А по делу, есть програмулины для создания патчей, правда, они показывают разницу, и создают патч - что поменялось.
Аватара пользователя
stikriz
энтузиаст
 
Сообщения: 612
Зарегистрирован: 15.03.2006 09:37:47

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

Сообщение Brainenjii » 28.06.2012 17:22:37

с патчами это всё конечно хорошо, но из тех что я знаю все программы такого толка прибиты шурупами к номерам строк, и идентичный код в разных местах считают разными творениями. Что меня мало интересует. Ищется именно инструмент по поиску кода, сделанного копированием. Не могу поверить, что такого нет, просто не могу сформулировать запрос в гугл...
Аватара пользователя
Brainenjii
энтузиаст
 
Сообщения: 1351
Зарегистрирован: 10.05.2007 00:04:46

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

Сообщение Sergei I. Gorelkin » 28.06.2012 18:56:07

Эту хрень нужно искать по словам text similarity, т.к. обычно ищут сходство текста безотносительно того, исходник это или нет.
Вот одна из утилит: http://dickgrune.com/Programs/similarity_tester/
Аватара пользователя
Sergei I. Gorelkin
энтузиаст
 
Сообщения: 1405
Зарегистрирован: 24.07.2005 14:40:41
Откуда: Зеленоград

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

Сообщение Brainenjii » 28.06.2012 19:20:40

Спасибо! По описанию то что нужно
Аватара пользователя
Brainenjii
энтузиаст
 
Сообщения: 1351
Зарегистрирован: 10.05.2007 00:04:46

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

Сообщение Manila » 24.07.2012 16:23:15

ДА спасибо! Мне тож помогло с разрешением некоторой проблемы.
Аватара пользователя
Manila
незнакомец
 
Сообщения: 3
Зарегистрирован: 24.07.2012 14:37:33
Откуда: Махачкала


Вернуться в Общее

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 25

Рейтинг@Mail.ru