• 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只是来做源代码管理,有点儿可惜了。

     

     

    3 管理工作区

    3.1 编辑工作区

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

    3.2 本地工作区

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

    3.3 团队项目目录结构

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

    序号

    目录

    说明

    1

    Data

    数据

    2

    Documents

    文档

    3

    Source

    源代码

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

    4 变更集

    4.1 历史记录

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

    4.2 变更集详细信息

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

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

    4.3 查找变更集

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

    4.4 签入原则

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

  • 相关阅读:
    IE故障修复之点击无反应
    第三十四天 我为集成平台狂(七)-步履轻盈的JQuery(五)
    《世界如此险恶,你要内心强大》读书笔记(二)
    hbase phoenix char may not be null
    堆(优先级队列) 的应用
    JVM 调优总结
    Reactor模式和NIO
    JVM调优总结 -Xms -Xmx -Xmn -Xss
    Hadoop源码分析37 RPC的线程协作
    Hadoop源码分析37 RPC的线程协作
  • 原文地址:https://www.cnblogs.com/FreeWick/p/2238301.html
Copyright © 2020-2023  润新知