Quelqu'un connaît-il un bon outil pour trouver le code en double dans un programme Delphi comme SolidSDD?Détection de Duplication de Code - Delphi
Répondre
Delphi 2010 & XE l'ont built in. Il y a un nouvel outil appelé Audits & Métriques.
Ils effectuent plusieurs tests sur votre code pour trouver divers problèmes ou mauvaises odeurs qui peuvent être détectés avec l'analyse statique.
Dans XE du menu, vous pouvez sélectionner, Projet | Audits d'assurance qualité pour accéder aux fonctions de vérification du code en double. Vous pouvez exécuter 3 vérifications de code en double différentes.
Bien qu'il ne fait pas la détection des doublons de code, il y a aussi Peganza Pascal Analyzer qui fait différents audits en utilisant l'analyse statique.
Eh bien, merci pour la réponse, mais comme ma question dit que je suis à la recherche d'un outil pour trouver le code en double. Ni Audicts ni Peganza ne sont capables de faire cela. –
Audits prend en charge le code en double. Je vais éditer ma réponse avec une capture d'écran et des instructions. –
Au moins en 2010, cette fonctionnalité n'est pas disponible pour Professional Edition. – awmross
Essayez celui-ci:
il ne fait pas de détection de code en double. –
En fait c'est le cas, voir la réponse de Robert Love (mise à jour) –
Vous pouvez AQtime du logiciel SmartBear, est un outil de profilage et d'analyse agréable qui vous permet de de détecter duplicated code et beaucoup plus comme:
couverture de code, les questions de performance, allocation de mémoire, trace exception- et fonction, etc.
cet outil n'est pas gratuit mais il est très puissant et supporte les applications Delphi, vous pouvez même choisir de l'intégrer dans votre IDE.
pour plus d'informations c le AQ-Profilers
Eh bien ... nous utilisons AQTime ici à mon travail et je ne savais pas que c'était caplable de faire une telle chose. –
Comment AQTime aide-t-il à trouver du code en double quand même? – Kromster
En utilisant le profileur de code dupliqué, lisez ceci http://smartbear.com/support/viewarticle/18222/ – CloudyMarble
Nous avons trouvé DupeCheck sur le site Web du Delphi Torry. Il s'agit d'un fichier .exe autonome qui analyse une liste de répertoires et parcourt les fichiers .pas, en essayant de rechercher des lignes de code en double - en ignorant les commentaires, les espaces et la sensibilité à la casse.
J'ai utilisé Simian. http://www.harukizaemon.com/simian/
Vous pouvez facilement l'exécuter pour trouver du code dupliqué. Par exemple:
simian-2.3.33 -ignoreCharacterCase+ -ignoreCurlyBraces+ %1
Il n'est pas spécifiquement pour Delphi, mais il fonctionne.
Voici un exemple de la sortie:
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. duplication de code
- 2. Firefox 3.5 code de duplication
- 3. éviter la duplication de code
- 4. Pas de duplication de code en sql
- 5. Suppression de la duplication de code
- 6. Comment éviter la duplication de code SQL?
- 7. Retirez la duplication de code dans l'exemple
- 8. struts2 itérateur: éviter la duplication de code
- 9. Comment éviter la duplication de code ici?
- 10. Évitez la duplication de code XAML
- 11. Duplication de maintenance - code et documentation
- 12. Détection de code dangereuse Gendarme
- 13. code de détection HTML Injection
- 14. Lecteur de code-barres Delphi Code
- 15. Extraits de code pour Delphi?
- 16. Code de base à Delphi
- 17. modèles de code Delphi utiles
- 18. Duplication de la détection de violation de mémoire de Visual Studio sous Linux
- 19. code de détection de mouvement {EDIT}
- 20. Détection de page de code navigateur
- 21. vs simple détection de plusieurs sélections dans Delphi TStringGrid
- 22. Delphi, détection de charset ([Uni] SynEdit) - Problème Utf8Decode
- 23. Utilisation de nombreux arguments sans code de duplication
- 24. BDD/TDD avec JSpec - Suppression de la duplication de code
- 25. Retirez la duplication de ce bout de code
- 26. Réduction de la duplication de code à l'aide d'aides HTML
- 27. Développement Web Visual Studio - suppression de la duplication de code
- 28. duplication de code dans les déclarations de cas sql
- 29. Rails vue de duplication
- 30. Jenga d'Apple Source Code/détection de mouvement
Je suis sûr que vous pourriez trouver quelqu'un sur le SO pour écrire un crochet au niveau du système pour désactiver '' WM_COPY' et WM_PASTE' pour éliminer ce problème à la source! –
@David Heffernan: Il existe un autre type de code dupliqué, appelé «roue réinventée». Accrocher de «copier» et «coller» ne semble pas utile dans ce cas. –
@Andriy Désolé, j'essayais de faire une blague basée sur le grand volume de questions SO de personnes essayant de crocheter les appels système. J'aurais dû rendre plus évident que je n'étais pas sérieux. –