首页 > 代码库 > 团队作业week16
团队作业week16
0. 在吹牛之前,先回答这个问题: 如果你的团队来了一个新队员,有一台全新的机器, 你们是否有一个文档,只要设置了相应的权限,她就可以根据文档,从头开始搭建环境,并成功地把最新、最稳定版本的软件编译出来,并运行必要的单元测试? (在这过程中,不需要和老队员做任何交流)
答:暂时无法达到要求。需要老队员的协助和指导。
1. 你的团队的源代码控制在哪里?用的是什么系统?如何处理文件的锁定问题?
答:团队的源代码控制在github上,我们团队的成员加入了上届学长的github小组。
关于文件的锁定问题:我们在平时的开发工作中发现,github可以对文件进行控制,例如团队中的某个成员修改了某些文件,另一个成员修改这几个文件时,就会出现无法上传的问题。我们采用的方法是进行组件式开发,每个成员负责不同的组件,互相的任务之间不存在交叉。如果需要对其他成员负责的部分进行修改,则联系相关的负责人,双方商量过后,由负责的同学进行修改。这种方法可以在一定程度上减少错误的出现。也是因为团队内人少,灵活性较强,可以采用这种人为控制的方式。
组件包括:
2. 如何看到这个文件和之前版本的差异? 如何看到代码修改和工作项 (work item),缺陷修复 (bug fix) 的关系。
答:通过github进行代码管理,可以看到不同版本之间的差异。
代码修改与缺陷修复的关系,可通过在程序中添加注释的方式查看,注释中说明修改的成员,修改时间及修复的问题。
3. 如果某个文件在你签出之后已经被别人修改,并且签入了,那么你在签入你的修改的时候, 如何合并不同的修改(merge)? 你用了什么工具来帮助你?
答:用github代码管理工具来合并不同的修改。
4. 你有20个文件都是关于同一个功能的修改,你要如何保证这些文件都同时签入成功(修改的原子性),或者同时签入不成功?
答:在实际开发中确实会遇到这样的问题,但好在团队成员较少,可以通过彼此的交流避免此类问题,且我们的工程模块化程度较高,当我们需要进行一个功能的修改时,会在QQ上说明,要求其他成员稍等。
5. 你的PC 上有关于三个功能的修改,但是都没有完成,有很多文件处于半完工的状态,这时你要紧急修改一个新的 bug,如何把本地修改放一边,保证在干净的环境中修改这个 bug, 并成功地签入你的修改 --- changelist management。
答:解决办法为工程文件的备份。
当把一个功能修改完成并测试完成后,上传至github并更新本地的备份文件。保证本地保存有一个最新的无bug的工程文件,这样既可以方便紧急进行修改,也能处理修改过程中发现这条路行不通,换个方式解决问题的情况。
6. 如何给你的源代码建立分支?
答:使用github的branch功能。
7. 一个源文件,如何知道它的每一行都是什么时候签入的,为了什么目的签入的 (解决了哪个任务,或者哪个bug)?
答:采用在修改的代码后添加注释,说明是何时由哪个队员进行修改的。
8. 如何给一个系统的所有源文件都打上标签,这样别人可以同步所有有这个标签的文件版本?
答:用github的管理功能。
9. 你的项目的源代码和测试这些代码的单元测试,以及其他测试脚本都是放在一起的么? 修改源代码会确保相应的测试也更新么?你的团队是否能部署自动构建的任务?
答:因为我们团队的项目是一个网站,所以大部分的测试是通过打开网页来进行测试的,一些小的单元测试与代码是放在一起的。
团队作业week16