0.新成员如何管理和使用这个工程?

对于后端而言,因为我们也是初次接触Django,因此从我们学习到程序编写过程中用到的各种知识都有学习笔记,比如Django的详细使用,Django数据库的使用、跨域通信以及用于WebSocket的Channels插件的使用。而我们的后端程序也基本上是按照这个框架来做的,其他具体的接口的定义也都已经发布在了GitHub工程中。

后端学习笔记博客如下:

http://www.cnblogs.com/14061216chen/p/5975450.html

http://www.cnblogs.com/14061216chen/p/5990610.html

http://www.cnblogs.com/14061216chen/p/5998376.html

对于前端,主要就是React Native环境的搭建,参照下面文档即可:

http://bbs.reactnative.cn/topic/10/%E5%9C%A8windows%E4%B8%8B%E6%90%AD%E5%BB%BAreact-native-android%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83

1.你的团队的源代码控制在哪里?用的是什么系统?如何处理文件的锁定问题?

我们团队使用的是GitHub进行代码管理,通过GitHub的客户端就可以进行各种源代码控制。比如显示与查看代码更改内容,更改历史,以及代码回滚等功能。

至于文件的锁定问题,GitHub是不支持对同一个文件进行不同的签入的,所以两个人不能修改同一个文件,而这一点的保证是通过我们的分工实现的,因为人比较少,所以每个人负责的部分分的比较开,而且大家比较容易交流,同时修改同一个文件的情况会被避免掉。

2.如何看到这个文件和之前版本的差异? 如何看到代码修改和工作项(work item),缺陷修复(bug fix)的关系。

在GitHub上每次签入代码都会有详细的更改记录,也有前后的对比,可以很清楚的看到前后版本的差异,当然再配上一个版本更新说明就更清晰明了了。

首先,GitHub可以看到每个修改文件以及修改前后的详细对比,然后版本更新说明中记录着本次更新解决的问题,两者结合就可以看到代码修改和工作项、缺陷修复的关系。

3.如果某个文件在你签出之后已经被别人修改,并且签入了,那么你在签入你的修改的时候, 如何合并不同的修改(merge)? 你用了什么工具来帮助你?

对于这种情况,GitHub是不允许签入的,他会提示你代码冲突,可以看到哪里有差异。所以想要签入两分不同修改的话,就需要人工的比对然后进行修改。

4.你有20个文件都是关于同一个功能的修改,你要如何保证这些文件都同时签入成功(修改的原子性),或者同时签入不成功?

首先在真正签入代码之前是需要经过测试的,测试无误后才会签入,这就在一定程度上保证了同一个功能的相关文件都被正确修改了,然后这时再一起签入。假如测试有遗漏,在之后的阶段还是可以查看到相应记录的,然后再进行相应修改。

5.你的PC 上有关于三个功能的修改,但是都没有完成,有很多文件处于半完工的状态,这时你要紧急修改一个新的 bug,如何把本地修改放一边,保证在干净的环境中修改这个 bug, 并成功地签入你的修改 --- changelist management。

这一点可以再创建一个分支,从GitHub上下载之前的代码,修改之后签入,这样就能解决上述问题了。

6.如何给你的源代码建立分支?

这种分支可以用不同的版本来替代,比如我的演示版本是1.0版,真正发布的版本是2.0版。这些版本都保存在记录中,都是可以下载的,管理者可以根据需要把某个版本当成当前的主分支,不用时再替换回去。

7.一个源文件,如何知道它的每一行都是什么时候签入的,为了什么目的签入的 (解决了哪个任务,或者哪个bug)?

在GitHub中,他会自动记录每行代码的签入时间和整个签入时的加入的标注,因此通过查看记录就可以知道上述问题。

8.如何给一个系统的所有源文件都打上标签,这样别人可以同步所有有这个标签的文件版本?

因为GitHub每次签入时都要加标签和注释,我们可以根据这些说明来确定各个版本。

9.你的项目的源代码和测试这些代码的单元测试,以及其他测试脚本都是放在一起的么? 修改源代码会确保相应的测试也更新么?你的团队是否能部署自动构建的任务?

对于前端的测试,暂时没有自动测试,如果有的话,这些测试脚本应该是单独创个文件夹放在工程里的。

对于服务端,如果修改代码签入之后,服务器会自动根据更新代码重新启动的。

至于自动构建的部署,暂时还没有时间做。

团队作业week16的更多相关文章

  1. 第五次团队作业——第一次项目冲刺——Alpha版本

    Deadline:2016-11-19    8:00am 本次团队作业将持续三周时间,完成项目Alpha版本,在2016.11.19 的实践课上进行演示操作. 阅读或再次阅读<构建之法> ...

  2. 2016福州大学软件工程Beta阶段团队作业成绩汇总

    1.评分规则 本次Beta阶段团队作业评分方法如下: 团队得分=[[7次scrum过程评分+(小组互评得分+教师评分)/2]/2],其中过程.小组.教师各30分 说明:由于没有规定提交团队贡献比,因此 ...

  3. 2016福州大学软件工程第五、六次团队作业-Alpha阶段成绩汇总

    1.本次作业成绩统计结果: 本次Alpha阶段团队作业公布如下: 表格说明: PE:贡献百分比 YS:演示评分(满分15分) BK:博客评分(满分15分) SH:事后诸葛亮环节(满分5分) P:个人分 ...

  4. 2016福州大学软件工程第二次团队作业——预则立&&他山之石成绩统计

    第二次团队作业--预则立&&他山之石成绩统计结果如下: T:团队成绩 P:个人贡献比 T+P:折算个人成绩,计算公式为T+T/15*团队人数*P 学号 组别 Team P T+P 03 ...

  5. 第二次团队作业 -- 预则立&&他山之石

    我说的都队 031402304 陈燊 031402342 许玲玲 031402337 胡心颖 031402203 陈齐民 031402209 黄伟炜 031402233 郑扬涛 一.团队任务计划 周数 ...

  6. SSR———团队作业:小型论坛的设计与初步实现

    小型论坛的设计与初步实现 这次团队作业,我们设计的是一个小型论坛,作为团队中的一员,我主要负责对用户进行需求调研与对用户体验的过程拍摄总结,力求我们的项目在力所能及的范围内更加完美 视频:   度盘链 ...

  7. 【集美大学1411_助教博客】团队作业1——团队展示&选题 成绩

    第一次团队作业已经新鲜出炉啦,各位同学请查收.截止日期前,全班都按时提交了作业,而且有的团队还提交了两次呢,下次不要这样啦~ 题目 团队作业1--团队展示&选题 回顾 个人作业1--四则运算题 ...

  8. 【集美大学1411_助教博客】团队作业2——需求分析&原型设计 成绩

    首先要向各位同学道歉,最近助教的工作较多,并且伴随着频繁的出差,评论博客和评分都不及时,以致于同学们都没有得到反馈,在此我要表示歉意.其次,对于第二次团队作业,有两个团队没有提交到班级博客中但按时完成 ...

  9. 团队作业2--需求分析&原型设计

    一.需求分析 1.用户采访 a.采访对象:   分别对本学院同学.其他专业同学.部分老师等总计15人进行了采访调研: b.采访截图:    c.采访总结: (1).功能需求   能够将所提供的四个数进 ...

随机推荐

  1. 使用CSS3制作导航条和毛玻璃效果

    导航条对于每一个Web前端攻城狮来说并不陌生,但是毛玻璃可能会相对陌生一些.简单的说,毛玻璃其实就是让图片或者背景使用相应的方法进行模糊处理.这种效果对用户来说是十分具有视觉冲击力的. 本次分享的主题 ...

  2. 简单实用angular.js购物车功能

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  3. Java基础知识【下】( 转载)

    http://blog.csdn.net/silentbalanceyh/article/details/4608360 (最终还是决定重新写一份Java基础相关的内容,原来因为在写这一个章节的时候没 ...

  4. c++宏定义命令

    在程序开始以#开头的命令,他们是预编译命令.有三类预编译命令:宏定义命令.文件包含命令.条件编译命令:今天聊聊宏定义: 宏定义命令将一个标识符定义为一个字符串,源程序中的该标识符均以指定的字符串来代替 ...

  5. 15-static和extern关键字1-对函数的作用

    一.extern与函数 如果一个程序中有多个源文件(.c),编译成功会生成对应的多个目标文件(.obj),这些目标文件还不能单独运行,因为这些目标文件之间可能会有关联,比如a.obj可能会调用c.ob ...

  6. (八)map,filter,flatMap算子-Java&Python版Spark

    map,filter,flatMap算子 视频教程: 1.优酷 2.YouTube 1.map map是将源JavaRDD的一个一个元素的传入call方法,并经过算法后一个一个的返回从而生成一个新的J ...

  7. mysql插入多条数据时间复杂度比较

    SQL脚本 select * from users; 方式一: insert into users(name, age, course_id) VALUES("test",1, & ...

  8. [Yii2.0] 以Yii 2.0风格加载自定义类或命名空间 [配置使用Yii2 autoloader]

    Yii 2.0最显著的特征之一就是引入了命名空间,因此对于自定义类的引入方式也同之前有所不同.这篇文章讨论一下如何利用Yii 2.0的自动加载机制,向系统中引入自定义类和命名空间.本文旨在抛砖引玉,如 ...

  9. 6-1 bash脚本编程之四 整数测试及特殊变量

    1. exit:退出脚本.可以定义,如 #exit 数字(0-255) 2. 文件测试 -e FILE:测试文件是否存在 -f FILE:测试文件是否为普通 -d FILE:测试指定路径是否为目录 - ...

  10. protobuf学习(2)-相关学习资料

    protobuf官方git地址 protobuf官方英文文档   (你懂的需要FQ) protobuf中文翻译文档 protobuf概述          (官方翻译 推荐阅读) protobuf入门 ...