À partir d'un code diff, pouvez-vous indiquer quelles classes et fonctions ont changé?

StackOverflow https://stackoverflow.com/questions/806045

  •  03-07-2019
  •  | 
  •  

Question

Arrière-plan:

PHPDoc ( http://www.phpdoc.org/ ) est un excellent outil pour extraire documentation html de vos classes ou méthodes à partir de commentaires dans votre des dossiers. Ajouter des commentaires PHPDoc a aussi d’autres avantages - si vous utilisez un IDE comme Zend ou Netbeans, il utilisera les PHPDocs pour vous montrer conseils d'auto-complétion.

La plupart des outils de suivi des problèmes disposent d’une fonctionnalité permettant de s’engager dans votre système. système de contrôle de version avec un commentaire particulier, et il associez automatiquement ce commet à ce problème.

Alors, voici ce que je veux dans un système: je commets du code avec un code spécial commentaire, mon traqueur de problème le lie à un problème. Il regarde ensuite le commet et détermine les méthodes et les classes que j'ai modifiées. Alors dit "Si vous cherchez de la documentation sur ce problème, essayez ces bits de PHPDoc: ClassX.FunctionY, ClassZ.VariableP ". Il pointe automatiquement les utilisateurs vers la documentation qui pourrait être pertinente. Je pense que ce serait une excellente fonctionnalité.

Question:

Donc, la pièce qui manque est quelque chose à prendre un diff de code PHP, et déterminer quelles classes et quelles méthodes ont changé. Quelqu'un at-il des pointeurs sur du code pouvant le faire?

Merci d'avance, James

Était-ce utile?

La solution 3

http://uk3.php.net/reflection

PHP5 a des méthodes pour prendre une classe à part et examiner toutes les méthodes, y compris me donner les numéros de ligne que je dois mettre en correspondance avec le diff. Grâce à cela, je peux commencer à lancer ma propre solution.

Autres conseils

Si vous utilisez subversion , vous pouvez voir un diff de tous les fichiers modifiés. projet. Et voyez en quoi ils sont différents.

Il existe des logiciels avec prise en charge intégrée de la sous-version, tels que Trac.

Voici une image de TracDiff

Vous avez besoin d'un outil qui comprenne parfaitement la structure de PHP, c'est-à-dire qu'il puisse analyser le texte source PHP, tout comme le fait le moteur PHP.

Notre " Smart Diff " Pour ce faire, il est possible de comparer des paires de fichiers PHP dont vous connaissez la version originale et la version modifiée. Il compare les AST et trouve les modifications minimales nécessaires pour les mapper. Si l’ancienne et la nouvelle méthode sont similaires, elle le découvrira et vous expliquera comment l’une a été modifiée pour obtenir l’autre. Voir http://www.semdesigns.com/Products/SmartDifferencer/index.html

vous pouvez écrire un script de post-validation qui reçoit les fichiers modifiés et les examine pour faire ce que vous voulez

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top