gpt4 book ai didi

vb.net - 类版本控制

转载 作者:行者123 更新时间:2023-12-04 21:19:38 25 4
gpt4 key购买 nike

我正在寻找一种干净的方法来对我的代码库进行增量更新,而不会破坏向后兼容性。这可能意味着向类添加新成员,或更改现有成员以提供附加功能。有时我需要以一种会破坏现有代码的方式更改成员(例如,重命名方法或更改其返回类型),因此我宁愿在交付后不接触任何现有类型。

我目前设置的方式是通过继承和多态创建一个新类来扩展该类的先前“版本”。

class diagram

其工作方式是创建 StatusResult 的适当版本。 (例如 StatusResultVersion3 ),基于 ProtocolVersion 的实际值属性,并将其作为 CommandResult 的实例返回.

因为 .NET 似乎没有类版本控制的概念,所以我不得不想出我自己的:将版本号附加到类名的末尾。这无疑会让你畏缩。我可以很容易地想象自己在放大图表后会睁不开眼睛。但它有效。我可以添加新成员并覆盖现有成员,而无需引入任何代码破坏性更改。

有没有更好的方法来版本我的类(class)?

最佳答案

在考虑现有代码和程序集更新时,通常有两种方法:

  • Regression Testing
    这是用于非破坏性更改的好方法,您可以简单地重载函数以提供新参数等。Visual Studio 有一些非常先进的 unit testing capabilities使您的回归测试相对容易和自动化。
  • Assembly Versions
    如果您的更改将开始破坏事物,例如重写某些实用程序的工作方式,那么是时候使用新的程序集版本了。 .NET 非常适合使用程序集版本。您可以将版本化程序集部署到不同的文件夹,以便现有代码可以继续引用旧版本,而新代码可以利用新版本中的功能。
  • 关于vb.net - 类版本控制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15073924/

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