团队作业Week14——源代码管理
0. 在吹牛之前,先回答这个问题: 如果你的团队来了一个新队员,有一台全新的机器, 你们是否有一个文档,只要设置了相应的权限,她就可以根据文档,从头开始搭建环境,并成功地把最新、最稳定版本的软件编译出来,并运行必要的单元测试? (在这过程中,不需要和老队员做任何交流)
答:是。
这个问题早在Alpha阶段初期就困扰了我们团队。我们爬虫的核心基本就在两个方面——爬取和存储。爬取动作是在代码实现之中的,编译程序不会遇到什么大的问题。而存储涉及到了我们项目的核心之一——数据库。由于软工和数据库是在同一学期开设的课程,大多同学在开始Alpha的时候数据库知识匮乏,而我们的程序却必须要连接数据库才能够正常运行。当时我自己再摸索成功连接上数据库时就把连接数据库的几个常见的问题写成博客发表了出来。新成员如果能够阅读我们这一博客,成功连接上数据库,那么编译过程和单元测试问题不大。
这是我们早在11月4号就写好的博客,在Beta阶段中对两位新成员运行程序也提供了帮助。(当时新成员还是与我们进行了直接的交流来更轻易的执行程序。但是相信就算不与我们进行任何交流,多花费些时间按照博客的操作连接上数据库,也是能够编译程序来进行测试的。)
http://www.cnblogs.com/cnmxfd/p/4935890.html
答:我们使用的是TFS的源代码资源管理器进行源代码的管理。


答:这一功能在TFS的源代码资源管理器也能进行操作。当时Alpha阶段由于初期代码管理紊乱的问题也正是通过变更集的反复比较而最终确定下最新的变更集的。


答:在Alpha阶段时我们遇上这种情况只能通过比较,然后各自找出最新的代码块新添入自己的.java文件中再进行签入。如今我们可以通过TFS上的分支与合并有效解决这一问题,由于锁的问题会影响DEV们的编码时间,所以在对某一文件进行签出修改之前,我们可以为他建立一个新的分支,在编码之后把分支合并回去。这样能够解决一个文件遭到同时修改的冲突,也可进行比较进行选择。

答:在这两个阶段我们都没有碰到过这样的情况,因为没有同一时间签入如此多的修改并且恰好碰到这样悲剧的小飞。但我想也许如下几个方法可以进行尝试:

答:同样没有遇到过。但是分支应该是解决这一问题的有效方法。在对文件修改之前建立分支并在这个分支上进行功能的修改,如果遇到BUG,则在主分支上再建立一个新的分支,最后当这两个分支都完成之后把它们合并到主分支当中去。
答:


答:在TFS源代码管理器中,可选中改行查看历史记录:


答:我们两个版本的源代码管理都没有用到标签。可能是应该项目规模还比较小,用标签的收益不大。标签其实就是为整个项目或者某一个.java文件制定一个索引,在版本的推移中,如若发现新版本的各方面均不如之前的版本,可以通过标签查到到之前的版本或者某一文件。


答:测试目前的确是我们团队一个一个短板,场景所提到的自动测试程序我们几乎没有。如今Beta的开发阶段已经过去,也仅是对成员做出测试数据记录以及测试日志的上传,测试强度依然欠缺。从现在到项目展示的这段时间,我们会尤其重视测试。如若时间条件允许,也会编一个自动测试程序进行各个变更集的编译测试。
团队作业Week14——源代码管理的更多相关文章
- 团队作业week14
0 如果你的团队来了一个新队员,有一台全新的机器,你们是否有一个文档,只要设置了相应的权限,她就可以根据文档,从头开始搭建环境, 并成功地把最新.最稳定版本的软件编译出来,并运行必要的单元测试?(在这 ...
- BugPhobia团队篇章:团队管理与Github源代码管理说明
0x00:序言 To the searching tags, you may well fall in love withhttp://xueba.nlsde.buaa.edu.cn/ 再见,无忧时光 ...
- 团队作业10——复审与事后分析(Beta版本)
Deadline: 2017-6-13 22:00PM,以博客发表日期为准 评分基准: 按时交 - 有分,检查的项目内容为后文的两个方面 Beta阶段项目复审(单独一篇博客) 事后诸葛亮分析报告(单独 ...
- 团队作业8——第二次项目冲刺(Beta阶段)
Deadline: 2017-5-28 22:00PM,以博客发表日期为准 评分基准: 按时交 - 有分,检查的项目包括后文的三个个方面 冲刺计划安排(单独1篇博客) 七天的敏捷冲刺(每天发布1篇,共 ...
- 【1414软工助教】团队作业8——第二次项目冲刺(Beta阶段) 得分榜
题目 团队作业8--第二次项目冲刺(Beta阶段) 往期成绩 个人作业1:四则运算控制台 结对项目1:GUI 个人作业2:案例分析 结对项目2:单元测试 团队作业1:团队展示 团队作业2:需求分析&a ...
- 【1414软工助教】团队作业10——复审与事后分析(Beta版本) 得分榜
题目 团队作业10--复审与事后分析(Beta版本) 往期成绩 个人作业1:四则运算控制台 结对项目1:GUI 个人作业2:案例分析 结对项目2:单元测试 团队作业1:团队展示 团队作业2:需求分析& ...
- bug终结者 团队作业第一周
bug终结者 团队作业第一周 小组组员及人员分工 小组成员 组长: 20162323 周楠 组员: 20162302 杨京典 20162322 朱娅霖 20162327 王旌含 20162328 蔡文 ...
- 团队作业7——第二次项目冲刺(Beta版本)
Deadline: 2017-12-10 23:00PM,以博客发表日期为准. 评分基准: 按时交 - 有分,检查的项目包括后文的三个方面 冲刺计划安排(单独1篇博客) 七天的敏捷冲刺(每两天发布 ...
- 软工网络15团队作业8——Beta阶段敏捷冲刺
Deadline: 2018-5-31 22:00PM,以博客提交至班级博客时间为准 根据以下要求: (1)在敏捷冲刺前发布一篇博客,作为beta版敏捷冲刺的开始, (2)同时,团队在日期区间[5.2 ...
随机推荐
- Nginx安装成Windows服务
因为有项目使用Nginx来做负载均衡,但是Nginx的Windows版本是不提供安装成服务的,所以服务器重启后Nginx并不会伴随启动和恢复.网上查了下,这里记录下解决方法,防止遗忘. 第一步:下载W ...
- tkinter内嵌Matplotlib系列(一)之解读官网教材
目录 目录 前言 (一)小目标 1.首页卷面: 2.绘制一条函数曲线: 3.绘制多条曲线: (二)官方教材 1.对GUI框架的支持: 2.内嵌于tkinter的说明文档: (三)对官方教程的解读 目录 ...
- popen()/pclose()阻塞性问题验证
背景: popen()函数通过创建一个管道,调用fork()产生一个子进程,执行一个shell以运行命令来开启一个进程.这个管道必须由pclose()函数关闭,而不是fclose()函数. pclos ...
- 第 15 章 位操作(dualview)
/*----------------------------------- dualview.c -- 位字段和按位运算符 -----------------------------------*/ ...
- 第一条:了解Objective-C语言的起源
第一条:了解Objective-C语言的起源 Objective-C使用的消息结构而非函数调用. Objective-C的重要工作都由"运行组件(runtime component)&quo ...
- JS思维导图(转)
思维导图不得不说是学习及温习的极佳方法,这里转载一波网上他人的精品JS思维导图十张,共同学习,如有冒犯原著可联系本人及时处理.
- 简单使用Vuex步骤及注意事项
使用Vuex的步骤: (1)安装: 1.使用npm安装: npm install vuex --save 2.使用script标签引入 <script src="/path/to/vu ...
- ajax json 表格排序,分页,自己定义每页数量
ajax json 表格排序.分页,自己定义每页数量 点击表头能够排序.依照升序或者降序,另外支持多列排序 设置每页数量 演示 XML/HTML Code <table id='examp ...
- Spring AOP失效之谜
每天学习一点点 编程PDF电子书免费下载: http://www.shitanlife.com/code 什么是AOP1 AOP(Aspect Oriented Programming),即面向切面编 ...
- Myeclipse 启动报错 Failed to create the java Virtual Machine
1.找到Myeclipse的安装目录 2.找到myeclipse.ini文件 3.打开myeclipse文件 你把原来的jvm.dll文件路径配置改成你的jdk安装路径中的jvm.dll路径 即: C ...