团队作业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 ...
随机推荐
- 3.2Python数据处理篇之Numpy系列(二)--- ndarray数组的创建与变换
目录 (一)ndarray数组的创建 1.从列表以元组中创建: 2.使用函数创建: (二)ndarray数组的变换 1.维度的变换: 2.类型的变换: 目录: 1.ndarray数组的创建 2.nda ...
- Linux 小知识翻译 - 「分区」
安装Linux的时候,需要对硬盘进行分区.那么「分区」到底是什么呢? 「分区」在日语中有区分,分割的意思.计算机术语中有时会说「对一个磁盘进行分区」,整个意思就是指定如何分割磁盘的意思. 「对磁盘进行 ...
- 支付宝alipay移动支付
通过支付宝提供的API实现移动支付功能 一:下载相关的依赖和工具 蚂蚁金服 https://open.alipay.com/platform/home.htm 移动支付开发文档 https://doc ...
- 计算机网络关于IP地址的计算问题
1.某校园网地址是202.100.192.0/18,要把该网络分成30个子网,则子网掩码应该是 ( ). A. 255.255.200.0 B. 255.255.224.0 C. 2 ...
- 如何在Windows平台下安装配置Memcached
Memcached是一个自由开源的,高性能,分布式内存对象缓存系统. Memcached是以LiveJournal旗下Danga Interactive公司的Brad Fitzpatric为首开发的一 ...
- JS面向对象之工厂模式
js面向对象 什么是对象 "无序属性的集合,其属性可以包括基本值.对象或者函数",对象是一组没有特定顺序的的值.对象的没个属性或方法都有一个俄名字,每个名字都映射到一个值. 简单来 ...
- (1) 天猫精灵接入Home Assistant- 网站论坛
https://bbs.hassbian.com/forum-38-1.html 1051196347 123456 https://bbs.hassbian.com/thread-4054-1-1. ...
- C++11 并发指南二(std::thread 详解)
上一篇博客<C++11 并发指南一(C++11 多线程初探)>中只是提到了 std::thread 的基本用法,并给出了一个最简单的例子,本文将稍微详细地介绍 std::thread 的用 ...
- linux内存源码分析 - SLAB分配器概述
本文为原创,转载请注明:http://www.cnblogs.com/tolimit/ 之前说了管理区页框分配器,这里我们简称为页框分配器,在页框分配器中主要是管理物理内存,将物理内存的页框分配给申请 ...
- CAN协议教程
介绍:CAN总线 CAN总线是广播类型的总线.这意味着所有节点都可以侦听到所有传输的报文.无法将报文单独发送给指定节点:所有节点都将始终捕获所有报文.但是,CAN硬件能够提供本地过滤功能,让每个节点对 ...