Кто-нибудь знает хороший инструмент для поиска дублирующего кода в программе delphi, например SolidSDD?Обнаружение дублирования кода - Delphi
ответ
Delphi 2010 & XE есть его built in. Существует новый инструмент под названием Audits & Метрики.
Они выполняют несколько тестов против вашего кода, чтобы найти различные проблемы или неприятные запахи, которые могут быть обнаружены при статическом анализе.
В XE из меню вы можете выбрать, Project | Аудит QA для доступа к функциям проверки дубликатов кода. Вы можете запустить 3 разных проверки кода.
Хотя это не делает дубликат обнаружения кода, есть также Peganza Pascal Analyzer, который выполняет различные проверки с помощью статического анализа.
Хорошо, спасибо за ответ, но, как мой вопрос говорит, я ищу инструмент для поиска дублирующего кода. Ни Аудиты, ни Пеганза не могут этого сделать. –
Аудиты поддерживают дублирующий код. Я отредактирую свой ответ с помощью экрана и инструкций. –
По крайней мере, в 2010 году эта функция недоступна для Professional Edition. – awmross
Попробуйте это:
он не выполняет обнаружение двойного кода. –
На самом деле, см. Ответ Роберта Лава (обновленный) –
Вы можете попробовать AQTime от программного обеспечения Smartbear, его приятно профилирование и анализирующей инструмент, который позволяет вам обнаруживать duplicated code и многое другое, как:
покрытие кода, вопросы производительности, распределение памяти, Exception- и функции трассировки и т.д.
Этот инструмент не является бесплатным, но его очень мощный и поддерживает приложения Delphi, вы даже можете интегрировать его в свою среду IDE.
для получения дополнительной информации о гр AQ-Profilers
Хорошо ... мы используем AQTime здесь, когда я работаю, и я не знал, что это возможно. –
Как AQTime помогает найти дубликат кода в любом случае? – Kromster
С помощью профилировщика Duplicated code прочитайте это http://smartbear.com/support/viewarticle/18222/ – CloudyMarble
Мы нашли DupeCheck через веб-сайт Delphi в Торри в. Это автономный .exe, который сканирует список каталогов и проходит через .pas-файлы, пытаясь искать повторяющиеся строки кода - игнорируя комментарии, пробелы и чувствительность к регистру.
Я использовал Simian. http://www.harukizaemon.com/simian/
Вы можете легко запустить его, чтобы найти дублированный код. Например:
simian-2.3.33 -ignoreCharacterCase+ -ignoreCurlyBraces+ %1
Это не специально для Delphi, но это работает.
Вот пример вывода:
Simian is not free unless used solely for non-commercial or evaluation purposes.
{failOnDuplication=true, ignoreCharacterCase=true, ignoreCurlyBraces=true, ignoreIdentifierCase=true, ignoreModifiers=true, ignoreStringCase=true, threshold=6}
Found 6 duplicate lines in the following files:
Between lines 6386 and 6391 in c:\develop\Schedule.pas
Between lines 6370 and 6375 in c:\develop\Schedule.pas
Found 6 duplicate lines in the following files:
Between lines 5229 and 5235 in c:\develop\Schedule.pas
Between lines 5189 and 5195 in c:\develop\Schedule.pas
Found 6 duplicate lines in the following files:
Between lines 6892 and 6898 in c:\develop\Schedule.pas
Between lines 6418 and 6423 in c:\develop\Schedule.pas
Between lines 6402 and 6407 in c:\develop\Schedule.pas
Between lines 6354 and 6359 in c:\develop\Schedule.pas
Between lines 6338 and 6343 in c:\develop\Schedule.pas
Found 27 duplicate lines in the following files:
Between lines 2995 and 3022 in c:\develop\Schedule.pas
Between lines 3035 and 3062 in c:\develop\Schedule.pas
- 1. Обнаружение дублирования SQL-платежей
- 2. NetSuite - Обнаружение дублирования массового импорта
- 3. Избегайте дублирования кода
- 4. Предотвращение дублирования кода
- 5. C: пример дублирования кода
- 6. Устранение дублирования кода XAML
- 7. Сокращение дублирования кода
- 8. Как избежать дублирования кода
- 9. Как избежать дублирования кода?
- 10. Слишком много дублирования кода
- 11. наследование дублирования кода
- 12. избежать дублирования кода jQuery?
- 13. Как избежать дублирования кода
- 14. Как избежать дублирования кода?
- 15. Как избежать дублирования кода
- 16. Scala избежать дублирования кода
- 17. Удаление дублирования кода
- 18. Избегайте дублирования кода SQL?
- 19. Избегайте дублирования кода
- 20. Обнаружение мертвого кода в PHP
- 21. Delphi custom animation - обнаружение столкновений
- 22. Delphi - обнаружение ошибки переполнения Int64
- 23. Обнаружение ориентации iPad в Delphi
- 24. Обнаружение события компонента в Delphi
- 25. обнаружение объекта ссылки дублирования через JavaScript файлы
- 26. Обнаружение дублирования диапазона времени в листе Excel
- 27. Обнаружение и предотвращение дублирования имен ArrayList
- 28. Избегайте дублирования кода в F #
- 29. Удаление дублирования кода в JavaScript
- 30. Рефакторинг дублирования кода в методы
Я уверен, что вы могли бы найти кого-нибудь на SO, чтобы написать на уровне системы крюк, чтобы отключить 'WM_COPY' и' WM_PASTE' устранить эту проблему на источник! –
@ Давид Хеффернан: Есть еще один тип дублированного кода, называемый «изобретенным колесом». Приобретение «копии» и «вставки» в этом случае не кажется полезным. –
@Andriy Извините, я пытался сделать шутки, основанные на большом объеме вопросов SO от людей, пытающихся перехватить системные вызовы. Я должен был сделать более очевидным, что я не серьезно. –