.NET 中的代码重复
Code duplication in .NET
假设您有一个 windows 表单,允许您在文本框中输入您的姓名,您按下一个按钮并弹出一个包含您姓名的消息框。现在,让我们假设一个用户挺身而出,想要另一个文本框来打印他们的姓氏。您确定此功能需要几个月的时间才能开发(我故意夸大其词,但请接受这个概念)。
因此,您不想修改现有表格,否则您无法在新功能完成之前发布您的产品。我对这种情况的方法是复制并粘贴表格,实施更改,测试它们,并在准备就绪后将旧表格替换为最新版本。
这种方法的主要缺点是对旧表单的任何快速修复都需要在新表单中进行复制,从而导致重复工作。除了我讨厌复制粘贴之外;这感觉不对。
另一种方法是创建一个继承原始表单的 class,因此对 "old" 表单的任何错误修复都会自动用于新表单。这种方法使您可以灵活地以这种 "new" 形式进行开发,同时允许您对旧的问题进行错误修复。
但是,我不认为这是正确的方法。对于这种情况,您有更好的替代方法吗?
听起来你想要的是一个版本管理子系统。查看 Git、SVN 或其他。这些允许您同时处理多个 'versions' 程序、进行更改、合并这些更改等。
如评论中所述,Git 上描述 possible workflows 使用分支的文档可能会让您入门。
对于 Tortoise/Mercurial,this SO question 可能会回答您的问题。
假设您有一个 windows 表单,允许您在文本框中输入您的姓名,您按下一个按钮并弹出一个包含您姓名的消息框。现在,让我们假设一个用户挺身而出,想要另一个文本框来打印他们的姓氏。您确定此功能需要几个月的时间才能开发(我故意夸大其词,但请接受这个概念)。
因此,您不想修改现有表格,否则您无法在新功能完成之前发布您的产品。我对这种情况的方法是复制并粘贴表格,实施更改,测试它们,并在准备就绪后将旧表格替换为最新版本。
这种方法的主要缺点是对旧表单的任何快速修复都需要在新表单中进行复制,从而导致重复工作。除了我讨厌复制粘贴之外;这感觉不对。
另一种方法是创建一个继承原始表单的 class,因此对 "old" 表单的任何错误修复都会自动用于新表单。这种方法使您可以灵活地以这种 "new" 形式进行开发,同时允许您对旧的问题进行错误修复。
但是,我不认为这是正确的方法。对于这种情况,您有更好的替代方法吗?
听起来你想要的是一个版本管理子系统。查看 Git、SVN 或其他。这些允许您同时处理多个 'versions' 程序、进行更改、合并这些更改等。
如评论中所述,Git 上描述 possible workflows 使用分支的文档可能会让您入门。 对于 Tortoise/Mercurial,this SO question 可能会回答您的问题。