团队作业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 ...
随机推荐
- python 从外部获取传入的参数
有时候我们在执行python程序的时需要接收到外部传入的参数 python的 sys.argv[]就能实现 # test.py import sys #引入模块 str = sys.argv[1]pr ...
- 4.8 Sublime Text3 中配置 Python环境 --之下Sublime配置Python环境
返回总目录 目录: 1.没有配置之前 2.安装Package Control插件 3.安装其他库: 4.配置其他操作: (一)没有配置之前: 我们试着运行以下,会效果怎么样? 1.首先选择Python ...
- JdbcTemplate介绍<二>
引言 如果说JdbcTemplate类是Spring Jdbc的核心类,那么execute方法算得上Spring Jdbc的核心方法了,毕竟JdbcTemplate的很多public方法内部实际上是调 ...
- Cocos2d-x 线程的使用及线程使用中遇到的问题
.h文件: #if CC_PLATFORM_ANDROID == CC_TARGET_PLATFORM #include "pthread.h" #endif #if CC_PLA ...
- mysql中左连接后,最终的记录数大于左边表的记录分析
如果B表符合条件的记录数大于1条,就会出现1:n的情况,这样left join后的结果,记录数会多于A表的记录数. 例如:member与member_login_log表的结构如下,member记录会 ...
- SpringMVC: web.xml中声明DispatcherServlet时一定要添加load-on-startup标签
游历SpringMVC源码后发现,在web.xml中注册的ContextLoaderListener监听器只是初始化了一个根上下文,仅仅完成了组件扫描和与容器初始化相关的一些工作,并没有探测到具体每个 ...
- [WC2011]最大XOR和路径
嘟嘟嘟 不愧是WC的题,思维真的很妙(虽然代码特别简单). 首先暴力找出所有路径肯定不行. 题中说可以经过重复的边,并且边权也会被计算多次.那么就是说,如果经过一条边再沿这条边回来,这条边的贡献就是0 ...
- day14 Python集合关系运算交,差,并集
low逼写法,没用集合 python_1 = ['charon','pluto','ran'] linux_1 = ['ran','xuexue','ting'] python_and_linux = ...
- 国产的骄傲,Deepin发布v15.9
深度操作系统是一个致力于为全球用户提供美观易用.安全可靠的Linux发行版.深度操作系统基于Linux内核,以桌面应用为主的开源GNU/Linux操作系统,支持笔记本.台式机和一体机.深度操作系统(d ...
- PAT A1016 Phone Bills (25 分)——排序,时序
A long-distance telephone company charges its customers by the following rules: Making a long-distan ...