【问题标题】:Finding inheritors of a class across branches of code跨代码分支查找类的继承者
【发布时间】:2016-10-14 01:54:55
【问题描述】:

有没有人尝试过类似“查找继承者”或“查找引用”的跨分支?我正在使用一个包含多个发布分支的代码库,其中一些与主线不同。

幸运的是,基本代码没有什么不同,但可能有继承该基本代码的类。在做出重新设计决策时,了解哪些分支可能会受到重新设计的影响会很有帮助。有没有人在过去遇到过这个问题和/或知道一个好的方向来指导我找到有关该主题的更多信息?

我正在使用 C#、Visual Studio 和 SVN 存储库,但如果有人在其他代码存储库、其他语言或其他技术中遇到过这种情况,则应该适用相同的概念。

提前感谢您的帮助!

【问题讨论】:

    标签: c# git svn tfs static-code-analysis


    【解决方案1】:

    您的查询类似于查找 TFS 中分支之间的差异。使用 TFS,我们可以直接在 VS 中找到差异,方法是在源代码管理资源管理器中右键单击文件或文件夹,然后选择 Compare。或者我们可以使用命令行工具tf.exe来获取区别:

    tf diff[erence] itemspec [/version:versionspec] [/type:filetype] 
    [/format:format [/ignorespace] [/ignoreeol] [/ignorecase] [/recursive] 
    [/options][/noprompt][/login:username,[password]]
    

    您可以查看SVN是否有类似的命令行工具。

    【讨论】:

    • 嗯,不完全是。鉴于标准是仅从现有代码继承而不是对其进行更改,因此找出现有类是被继承还是方法被覆盖并非易事(至少在没有编写自定义实用程序的情况下并非如此)。继承者可以被命名为任何东西,并且新的源文件不能保证某些东西正在被继承。感谢您的回复;如果我编写一个实用程序来做类似的事情,使用命令行差异可能是一个很好的起点。
    猜你喜欢
    • 2022-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-17
    • 1970-01-01
    • 1970-01-01
    • 2015-08-04
    • 2013-04-23
    相关资源
    最近更新 更多