TFS(Team Foundation Server)敏捷使用教程(二):源代码管理

源代码管理

重量型过程改进通常会先拿出一个文件夹,里面有各种规范和文档模板,琳琅满目,ISO9000如此,RUP也是如此,CMM更是如此。一般人看到这么多东西非吓晕过去不可,但咨询师会鼓励你,告诉你这是培训的框架,都是必须品,等你把这些东西掌握了就如何神通广大了,然后开始漫长的学习过程。新手?这是for高级岗位的。

敏捷开发认为:代码是最精确的文档,一个软件什么都可以省,唯独代码是必不可少。一个项目团队可以没有项目经理,测试人员,哪怕只有一个人,那一定是个程序员。现在,只要会写代码,马上就可以开始敏捷开发了,门槛不高吧?这才是最贴近我们程序员的软件过程。

1 TFS 2010入门

TFS 2010的安装已经很容易了,安装完后点下面的链接先入个门:Visual Studio Application Lifecycle Management 入门

1.1 连接到 Team Foundation Server

1.2 新建团队项目

1.3 将解决方案添加到源代码管理

1.4 签入

简单练习一下上面列出的4条,你就已经入门了。

 

2 源代码管理资源管理器

接下来请打开"源代码管理",这才是众妙之门,CMM的文档模板集只是个笨重的大包裹。练练"签入""签出",就可以用TFS来工作了。好像有的人用TFS只是来做源代码管理,有点儿可惜了。

TFS(Team Foundation Server)敏捷使用教程(二):源代码管理  

 

3 管理工作区

3.1 编辑工作区

接下来打开工作区,添加或编辑工作区,把TFS服务器映射到本地文件夹D:\Projects,确定后系统会提示你,"工作区已修改,是否要更新本地工作区",选是。

TFS(Team Foundation Server)敏捷使用教程(二):源代码管理

 

3.2 本地工作区

 

下图是本地工作区D:\Projects的目录结构,每个文件夹映射到一个团队项目,与服务器的团队项目完全相同。这样把各个不同的项目区分开,不同项目的成果和过程文件等各自放到各个项目文件夹里,不要再放到桌面,我的文档,逻辑驱动盘的根目录等。另外不要把不相关的文件签入到团队项目里来。敏捷的秘诀之一就是力求简单。

 

TFS(Team Foundation Server)敏捷使用教程(二):源代码管理

 

3.3 团队项目目录结构

团队项目的根目录都包含三个主要目录:

序号

目录

说明

1

Data

数据

2

Documents

文档

3

Source

源代码

 

软件=程序+数据+文档,这不正是我们软件工程师理解的软件吗?让那些高高在上的理论落地,成为我们实践中的一部分。

 

4 变更集

4.1 历史记录

在"源代码管理资源管理器"里选中"Source",然后点击工具条上的历史记录,我们将看到"Source"目录下所有的变更集。这些变更集是我们日常签入在TFS上自动化的结果,这不需要CMM过程填这样那样的表格,不会增加我们的负担。即使写个简要的注释慢慢的我们也习惯得了。要知道,我们的目的是给程序员减压,而不是加压。

TFS(Team Foundation Server)敏捷使用教程(二):源代码管理

 

4.2 变更集详细信息

现在我们看看70号变更集的详细信息,我们看到这次变更是添加了一个文件"LoadLayerCommand.cs"。

TFS(Team Foundation Server)敏捷使用教程(二):源代码管理

右键查看一下这个文件里写了什么:

TFS(Team Foundation Server)敏捷使用教程(二):源代码管理

 

4.3 查找变更集

打开"查找变更集"界面,我们可以按用户,文件,日期等条件进行组合查询。下图是查文件"LoadLayerCommand.cs"的变更历史,以了解它的开发以及重构等。

TFS(Team Foundation Server)敏捷使用教程(二):源代码管理

 

4.4 签入原则

变更集是由签入产生的,所以正确对待每一次签入。乱糟糟的代码肯定会导致乱糟糟的变更集,关于如何写简洁的代码,请参考《敏捷软件开发:原则、模式与实践》,《重构-改善既有代码的设计》等书。对于新手,签入的时候尽量用小的变更,不要把多个单一职责的文件一起签入,比如说:"ImportTxtFileCommand.cs"和"ExportTxtFileCommand.cs"要分开签入,即使你写在同一个文件里"MainForm.cs"的两个方法"ImportTxtFile()" 和"ImportTxtFile()"也分开签入。为什么呢?是因为我们将归纳变更集来产生工作项,你签入耦合度非常大的变更集,我们就没办法归纳了。正向的工作计划不容易,逆向的工作总结要容易的多。好了,今天先说到这,至少工作项已经很近了,下一篇探讨怎么通过工作总结来提高工作计划的能力。

 

你可能感兴趣的:(server)