抛弃强大的TFS ,借助于BugTracker.NET + Visual Source Safe + SourceLink搭建项目开发环境
微软公司的Team Foundation Server是个强大的项目管理工具,如果用.NET开发,它应该是首选的项目管理平台。TFS的成本比较高,而且和Visual Studio集成紧密。比如TSF有些功能必需和Visual Studio配合才行,比如新建项目,必须在Visual Studio中完成。TFS必须要用SQL Server作为数据存放平台。这样导致运行TFS必须对微软的这几个产品都要购买许可,费用相当贵。 Team Foundation Sever另一个不好的方面是对硬件的消耗相当高,4G内存跑起来都有些吃力,再和微软的SharePoint组合起来,一般的公司都承受不了这样的成本,且不说软件费用,仅仅是硬件方面都难达到要求。
言归正转,项目管理一般涉及到源代码版本控制和需求管理。多人团队开发时,用源代码管理可以节省很多代码冲突时的合并时间,如果再能配合一个需求管理工具,把代码中的每一种修改关联到需求记录中去,这样就很完美了。TFS中令我相当着迷的地方就是Changeset变更集可以直接链接到需求记录(Bug或Enhancement)。每个Bug后面都有Link选项,以此作为关联,在以后查找问题原因时带来很多便利。
没有金刚钻,小米加步枪也可以漂亮的干活,来看我是如何组合这三个工具以搭建项目开发环境。
源代码管理 安装好Visual Source Safe 2005,这是此软件最后一个版本,简单方便稳定。就是自己独立做项目也经常用它,可以记录每次对代码的变更,在维护阶段会节省大量时间。
需求管理 选用BugTracker.NET,其它的第三方的免费的或是商用的工具找了很多。主要考虑的方面是简单,硬件消耗低,可维护,稳定。非.NET开发的需求工具一率不用,原因是用.NET开发的系统,自己查找原因和维护起来方便。Ruby,PHP,JSP技术只简单的了解,要是用这些技术写的需求工具出了问题,又要折腾的去学这些技术查找原因。已经30+程序员了,不喜欢折腾,不喜欢玩技术,喜欢用简单的方法把目的达到。
硬件消耗低,动不动就几百MB的东西,看起来比较吓人,维护起来肯定不容易。最好是开源的系统,以后能写一些扩展或是代码对它进行扩充。最后,要稳定,不能一装上去就报N个错误。需求管理工具一般都是B/S架构的,ASP.NET写的最好,自己以前是ASP.NET程序员出身,可以解决维护难题。能有个Visual Studio AddIn或是C/S的更方便,实在找不到,自己看数据库表结构也可以写一个。鉴于这些原因,最终选BugTracker.NET。
第三,我还想把代码中的变更直接Link到需求管理工具中。每一个需求,都会对代码进行相应的变更,为了追踪方便,我想代码中的各地方的修改,直接关联到需求工具中。经过搜索,Whole Tomato Software出品的SourceLinks满足我的需求。Whole Tomato Software是大名鼎鼎的Visual Assist X工具的开发商,VC++程序员必备工具之一。
SourceLinks是免费工具工具,设计原理也比较简单。可以从以下地址获取它:
http://www.wholetomato.com/products/sourcelinks/default2.asp

源代码中用固定的格式的字符串标识代码修改的原因,比如case 45192,Source Links会扫描源代码文件,识别此字符串,当点击case 45192时,可以跳到浏览器中类似于这样的地址http://localhost/btnet/edit_bug.aspx?id=45192,查看需求明细内容。另外,还可以做鼠标旋停插件,如上图所示,它显示了case 45192的详细信息。

为达到此目的,需要对Bug Tracker.NET进行简单的修改,改成自动登陆模式或是改成域用户验证方面,以避免跳转到需求明细时,要求输入用户名和密码。从下载回来的Bug Tracker.NET文件包中,进入www目录,找到default.aspx文件,直接在用户名和密码的控件的地方,输入控件值,默认的用户名和密码均是admin。跳到108行,加入代码on_logon();即可。
<td class=lbl>User:</td>
<td><input runat="server" type=text class=txt id="user" value="admin"></td>
</tr>
<tr>
<td class=lbl>Password:</td>
<td><input runat="server" type=password class=txt id="pw" value="admin"></td>
</tr>
抛弃强大的TFS ,借助于BugTracker.NET + Visual Source Safe + SourceLink搭建项目开发环境的更多相关文章
- 使用visual studio 2013 快速搭建phonegap开发环境
前一段时间开发了一款简单的Phonegap应用,遇到了很多坑,其中有一个坑就是在搭建开发环境上.由于Phonegap 2.x 与3.x 区别比较大,导致了开发环境也有所不同.2.x 是这样的http: ...
- 版本管控---Visual Source Safe(VSS)和Team Foundation Server(TFS)
Visual Source Safe 是用于软件专业开发人员的源代码管理工具 Team Foundation Server是为开发团队提供集成源代码管理.问题跟踪和进程管理的更改管理系统 相同点 1. ...
- 使用Visual Studio Code搭建TypeScript开发环境
使用Visual Studio Code搭建TypeScript开发环境 1.TypeScript是干什么的 ? TypeScript是由微软Anders Hejlsberg(安德斯·海尔斯伯格,也是 ...
- visual studio 2015 搭建python开发环境,python入门到精通[三]
在上一篇博客Windows搭建python开发环境,python入门到精通[一]很多园友提到希望使用visual studio 2013/visual studio 2015 python做demo, ...
- Windows下visual studio code搭建golang开发环境
Windows下visual studio code搭建golang开发环境 序幕 其实环境搭建没什么难的,但是遇到一些问题,主要是有些网站资源访问不了(如:golang.org),导致一些包无法安装 ...
- Visual Studio Code中配置GO开发环境
在Visual Studio Code中配置GO开发环境 一.GO语言安装 详情查看:GO语言下载.安装.配置 二.GoLang插件介绍 对于Visual Studio Code开发工具,有一款优秀的 ...
- Cocos发展Visual Studio下一个libcurl图书馆开发环境的搭建
我们解释win32在Visual Studio下一个libcurl图书馆开发环境的搭建.Cocos2d-x发动机实际上与Win32在访问libcurl库.Cocos2d-x 3.x在libcurl库文 ...
- 使用Visual Source Safe 2005 - 初学者系列 - 学习者系列文章
本文介绍微软的Visual Source Safe 2005工具的使用 1. 打开该软件,选择“新建数据库” 2. 显示欢迎页 3.选择路径.这里是服务器上代码存放的目录. 4.这里选择第一项 5 ...
- 安装Visual Source Safe 2005 - 初学者系列 - 学习者系列文章
本文介绍微软的文档管理工具Visual Source Safe 2005的安装 从下列地址获取该工具: ed2k://|file|en_vss_2005.iso|108048384|C4BEC1EC3 ...
随机推荐
- 那年有关 return ; 的一切
现在只知道在dev C++里面声明了函数的返回类型不为void就不能写return; ,但是如果返回值为void就可以写return; ,而且如你所愿.
- Windows Phone 8.1新特性 - 应用商店启动协议
Windows Phone 8.1 Preview SDK 发布也有几个月了,之前断断续续也写过几篇 Windows Phone 8.1 新特性的文章,今天给大家介绍一下应用商店启动协议相关的知识. ...
- LightOJ Beginners Problems 部分题解
相关代码请戳 https://coding.net/u/tiny656/p/LightOJ/git 1006 Hex-a-bonacci. 用数组模拟记录结果,注意取模 1008 Fibsieve's ...
- c++中的指针之指针在数组
使用一维指针数组输出一维数组中的数 int array[]={1,2,3,4,5,6}; int *p; p=array; for(int i=0;i<6;i++){ ...
- TortoiseSVN客户端使用说明
TortoiseSVN客户端使用说明 TortoiseSVN不是一个独立的窗口程序,而是集成在windows右键菜单中,下面对TortoiseSVN的菜单项做简要的说明.01.SVN Checkout ...
- coalesce函数用法
COALESCE函数会依次检查输入的参数,返回第一个不是NULL的参数,只有当传入COALESCE函数的所有的参数都是NULL的时候,函数才会返回NULL
- DedeCMS织梦系统head.htm里无法调用栏目描述
{dede:channel type='top'} [field:description/] {/dede:channel} channel 这个标签没有description属性你需要自己把这个属性 ...
- test-output目录中找不到testng-fail.xml原因+Reportng+ant build.xml文件
test-output目录中找不到testng-fail.xml原因: 在没有加入Reportng 报告的相关jar包前,在test-output目录下是有testng-fail.xml,后面加入了R ...
- WebLogic 8.1 部署问题记录
1.weblogic 8.1 不支持jdk1.4以上的版本,所以,如果在项目中用jdk1.4以上的版本编译之后的class直接部署到weblogic8.1 服务器上会报错,报错信息一般包括如下: Cl ...
- 循序渐进做项目系列(1):最简单的C/S程序——让服务器来做加法
(本文是专门针对未接触过C/S开发的初学者而写的,C/S开发高手请自动忽略啊~~) 还在写“Hello world!”式的单机程序吗?还在各种拖控件吗?是否自己都觉得有点low呢?来个质的飞跃吧!看看 ...