我是公司的CTO和唯一开发人员。我准备好雇用我们的第一个开发人员,可能会在接下来的6-12个月内聘请他们。我很尴尬地说我从未使用源代码控制作为我工作流程的一部分。我想成为一个一人的开发团队让我有点懒惰。这不是我不想要的,我只是对如何开始它有一点心理障碍。

我们构建和维护了5个Web应用程序。我们使用ASP.NET,每个Web应用程序引用一个已复制到“bin”中的.NET类库(DLL)。每个应用的文件夹。我一直在开发一个Visual Studio“解决方案”。其中包括类库和所有Web应用程序。有点臃肿,我敢肯定,但这种方法让我可以轻松地通过让我在所有应用程序(和类库)上同时进行全局查找和替换操作来最小化错误。

我意识到实现源代码控制本身就是对我的工作流程的重大改变,但是在我的流程中引入另一个开发人员让我有点不知所措。我正在寻找一些有关如何开发工作流程的帮助,这将使我的小团队能够快速移动而无需繁琐的流程。我想避免讨论选择哪个SCC系统(我们将使用Mercurial)。我更感兴趣的是讨论它的结构和工作流程方面。

以下是我需要帮助的问题:

  1. 我应该将每个应用分成一个单独的“项目”吗?或者将它们放在一起,这样我们就可以在必要时继续从全球查找和替换操作中受益。由于类库的情况,我担心将它们分开(见#2)。

  2. 如果将应用程序拆分为单独的项目,我不知道如何继续使用每个项目需要副本的类库。例如,假设对其中一个应用程序(称为“项目1”)的更改需要更改类库...如果类库位于单独的项目中(称之为“项目2”) ,似乎“凌乱”对我来说,项目1将取决于项目2的最新变化,以便正常工作。或者,您只是对项目2(类库)进行更改,检入它们,然后将新编译的dll复制到项目1中(但不应将复制到项目1中的dll的新副本记录在不知何故SCC)。即使我写这篇文章,我也感到困惑......

  3. 提前感谢您的帮助。

有帮助吗?

解决方案

首先,祝贺决定最终使用源代码管理。我知道改变你的习惯可能令人沮丧,但从长远来看,我相信你会看到它的好处。

  1. 包含多个项目的解决方案没有任何问题。我通常将我的大约10个,但这只是为了改善加载时间。如果把它们放在一起对你来说效果更好,那么就这样吧。源控件的使用不会对此产生任何影响。
  2. 就类库而言,我认为您需要做的是改变对库项目进行更改的方式,而不是如何使用引用它的项目。在库项目上实施单元测试以强制实现向后兼容性,因此您知道删除最新版本的库不会破坏您的应用程序。您可能会发现这种情况不会成真几次,但随着您开发更多单元测试来处理边缘情况,这种情况会越来越少。

其他提示

您可以在单个Visual Studio解决方案中拥有多个项目。我过去所做的是将ASP.NET项目和类库项目放在同一个解决方案中。您可以让ASP.NET项目引用类库项目(“添加引用”,然后转到“项目”选项卡以在同一解决方案中显示其他项目)。这样,无论何时更改类库,都将使用最新版本的类库构建ASP.NET应用程序。您可以设置多个解决方案 - 每个ASP.NET应用程序一个,每个解决方案包括类库项目。

您还可以使用所有ASP.NET项目以及类库设置一个大型解决方案,但这可能有点难以使用,尤其是对于处理不同ASP.NET页面的多个开发人员而言。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top