当面对新代码时,我经常花时间弄清楚哪些类和方法构成核心功能而不仅仅是环境问题。如果代码遵循众所周知的架构设计,具有可见的结构,描述性名称,文档,单元测试等,那么任务就更容易了。然而,情况并非总是如此。有时代码只是意大利面,上帝知道那里发生了什么。
我相信有一些算法可以用来粗略地对代码部分进行分类,这样开发人员就可以一目了然地看到重要的事情,而无需人工处理。
例如:
是否有一个工具可以根据代码重要性过滤或突出显示Visual Studio中的类和方法?
它可能如下所示:
在重要性下,我在此理解,例如Main
方法具有很高的重要性,因为它是其他所有方法的根。您可以从Main
方法转到代码中的任何其他方法。 MethodL2
的重要性很低,因为它只是一片叶子。叶子重要性的计算也应该从父母的重要性中得出。我的意思是,这个意义上的重要性不仅仅与深度或出现的程度有关。