Dans Visual Studio, avec ou sans extension, existe-t-il un moyen de trier automatiquement les méthodes privées à l'intérieur d'une classe en fonction de l'ordre de leur utilisation (leur emplacement dans la pile d'appels) ?
Par exemple, considérons la classe suivante :
public class MyClass
{
public void MyMethod()
{
TestC();
}
private void TestA()
{
TestB();
}
private void TestB()
{
Console.WriteLine("Hello");
}
private void TestC()
{
TestA();
}
}
La méthode publique de cette classe est MyMethod
il appelle TestC
qui appelle TestA
qui appelle TestB
. J'aimerais classer (automatiquement) ces méthodes dans cet ordre afin que la classe ressemble à ceci :
public class MyClass
{
public void MyMethod()
{
TestC();
}
private void TestC()
{
TestA();
}
private void TestA()
{
TestB();
}
private void TestB()
{
Console.WriteLine("Hello");
}
}
Je dois être en mesure de sélectionner une classe, de demander le tri des méthodes et de faire en sorte que les méthodes soient triées automatiquement. En d'autres termes, je ne veux pas trier manuellement ces méthodes.
Je comprends qu'il y a des nuances. Par exemple, il pourrait y avoir une méthode privée qui est appelée à partir de deux méthodes qui se trouvent à deux niveaux différents dans la pile d'appels. Je suppose que dans ce cas, il est logique de considérer la plus petite distance (pile d'appels) de la méthode publique.
UPDATE :
L'idée de trier les méthodes de cette manière vient du livre Clean Code de Robert C. Martin. Dans le chapitre 3, la règle Stepdown est définie. Elle consiste à faire apparaître les fonctions de haut niveau avant les fonctions de bas niveau.
En effectuant une recherche rapide sur Google pour la règle de réduction des effectifs, j'ai trouvé un plugin Netbeans : http://plugins.netbeans.org/plugin/58863/stepdownruleplugin
Je suppose qu'il fait quelque chose de similaire à ce dont j'ai besoin, mais pour Netbeans.