gpt4 book ai didi

c# - 在 Visual Studio 中,有没有办法按用途对私有(private)方法进行排序?

转载 作者:IT王子 更新时间:2023-10-29 04:19:12 28 4
gpt4 key购买 nike

在 Visual Studio 中,无论有没有扩展,是否有一种方法可以根据使用顺序(它们在调用堆栈中的位置)自动对类中的私有(private)方法进行排序?

例如考虑以下类:

public class MyClass
{
public void MyMethod()
{
TestC();
}

private void TestA()
{
TestB();
}

private void TestB()
{
Console.WriteLine("Hello");
}

private void TestC()
{
TestA();
}
}

这个类中的公共(public)方法是MyMethod , 它调用 TestC这叫TestA这叫TestB .我想(自动)按此顺序对这些方法进行排序,以便该类看起来像这样:

public class MyClass
{
public void MyMethod()
{
TestC();
}

private void TestC()
{
TestA();
}

private void TestA()
{
TestB();
}

private void TestB()
{
Console.WriteLine("Hello");
}
}

我需要能够选择一个类,请求这样的方法排序,并自动对方法进行排序。即,我不想手动对这些方法进行排序。

我知道有一些细微差别。例如,可能有一个私有(private)方法被调用堆栈中两个不同级别的两个方法调用。我想在这种情况下,考虑与公共(public)方法的最小(调用堆栈)距离是有意义的。

更新:

以这种方式对方法进行排序的想法来自 Robert C. Martin 的 Clean Code 一书。在第3章中,定义了Stepdown规则,即高级函数出现在低级函数之前。

在谷歌上快速搜索降压规则,我在以下位置找到了一个 netbeans 插件:http://plugins.netbeans.org/plugin/58863/stepdownruleplugin

我猜它做的事情与我需要的类似,但针对的是 netbeans。

最佳答案

ReSharper 插件“Greenkeeper”完成这项工作:

https://bitbucket.org/denniskniep/greenkeeper

插件可以对“newspapermode”中的方法进行排序:重要代码在前,细节在后。报纸模式与“降压规则”具有相同的行为。

https://bitbucket.org/denniskniep/greenkeeper/wiki/SortingDeclarations

关于c# - 在 Visual Studio 中,有没有办法按用途对私有(private)方法进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40323715/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com