首页 > 技术文章 > "都是为了生活"组 beta 1/2 阶段中间产物提交入口

shenghuo-chifan 2019-11-06 18:00 原文

作业要求参见:https://edu.cnblogs.com/campus/nenu/2019fall/homework/9918

一、介绍

组名:都是为了生活

组长:王可非

组员:迟俊文 肖亚男 徐姗姗 董亚辉

二、项目git地址:https://e.coding.net/thiking/AllForEating.git

三、问题回答:

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

答:(1)团队项目的源代码提交到coding.net上进行托管

   (2)项目的开发用的微软的Windows10系统,开发工具是微信开发者工具。

   (3)本项目的文件没有被锁定,为了便于团队成员之间要了解代码并且进行沟通,在本地处理好文件代码中的问题,然后提交。

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

答:我们利用TortoiseGit中的 “与上一版本比较差异的功能“,可以看到两个版本之间的变化。 还可以通过git log语句查看日志,通过查看日志中的提交说明,及代码中对修改作出的相应注释可以看到代码修改和工作项,缺陷修复的关系。

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

答:(1)先从coding.net上pull下来到本地仓库,更新本地仓库的代码,然后比对不同之处,之后再签入。

       (2)使用的工具是TortoiseGit。

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

答:如果多个文件都是关于同一个功能的修改,在进行签入前我们会在群里进行通知,保证自己签入时没有其他人进行签入操作,完成之后再在群里通知他们可以签入签出。

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

答:保存半完工状态的文件,新建一个分支,在新分支上进行修改bug,确保两分支的之间互不干扰

6. 规范操作和自动化

你的团队规定开发者签入的时候要做这些事情:

    - 运行单元测试,相关的代码质量测试。

    - 代码复审 (要有别的员工的名字)

    - 和这次签入相关的issue 编号, 任务/task, 缺陷/bug 编号,等等, 以备查询。

    请问你的团队有这样的自动化工具让开发者方便地一次性填入所有信息然后提交么?  (高级功能, 代码提交之后, 相关bug 的状态会改动为  “fixed”, 并且有链接指向这次签入。)

    例子。

答:没有。

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

 场景:你们需要做一个演示,所以在演示版本的分支中对各处的代码做了一个临时的修改, 同时,主要的分支还保持原来的计划开发。 你们怎么做到的? 在演示之后,演示版本的有些修改应该合并到主分支中,有些则不用,你们是怎么做到的?

 场景: 你们的软件发布了,有很多用户,一天,一个用户报告了一个问题,但是他们是用某个老版本,而且没有条件更新到最新版本。 这时候,你如何在本地构建一个老版本的软件,并试图重现那个问题?

 

答:场景一: 在coding.net上新建一个分支

       场景二: 构建一个老版本可以进行代码版本回退,使用的git语句是git reset --想要回退的版本号。

 

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

回答:每次签入变动的时候都会有时间显示,在签入时可以对签入进行注释然后再提交,成员可以通过git log查看日志。

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

回答:在good known版本的时候就可以新建立分支good known,需要的时候就从分支good known中导出。

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

答:没有进行单元测试。

作业题,分析比较各种软件构建环境:

就像一个厨师要分析各种厨房用具,挑选适合自己的工具组合, 一个软件团队也要挑选适合自己的源代码管理和其他配套工具,请选择至少三种,比较各自的优点缺点,成本:

github

https://gitee.com/education

coding.net

code.csdn.net

gitcafe.com

www.visualstudio.com

code.taobao.org

Visual Studio Team Foundation Server

gitblit, 在Windows系统下构建 git 服务,带网页端管理…

Visual Source Safe (VSS)

自己搭建系统

答:

(1)GitHub:是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管。

优点:

     1.比较好的支持Mobile。虽然github没有手机客户端,但是一般开发者,写好的blog都会通过微博进行分享,所以点击过来之后,就可以在手机浏览器里面访问。

     2.功能设计简洁实用上手很快,可用性好,已有很多相当质量的各类项目和优秀开发者在上面。

缺点:

    1.国内访问速度太慢,经常出现connect time-out

    2.对中文不够友好

    3.github有时可能被墙,或者不稳定

    4.没有集成社交分享功能。比如后面可以分享到微博,微信朋友圈等。之前有人建议我去做插件,有时间看看这个。(据说是这样我还没有考证)

成本: github的价格过高

(2)Coding.net是一个面向开发者的云端开发平台,目前提供代码托管,运行空间,质量控制,项目管理等功能。此外,还提供社会化协作功能,包含了社交元素,方便开发者进行技术讨论和协作。

优点:速度快、安全性高、功能界面简洁。

缺点:稳定性差、使用人数只限于国内,人数有限。

成本:成本较低

(3)Visual Source Safe (VSS)

优点:

微软的VSS版本控制软件,简单,容易操作,无需过多的学习,对于开发者来说上手较快。

缺点:

VSS遇在提交大的文件(30MB左右),总是崩溃,显示延缓写入错误;最广受垢弊的缺点是需要快速大量的信息交换,因此仅适用于快速本地网络,而无法实现基于Web的快速操作。

成本:成本较低

四:报告

β阶段(第一周)checkin次数记录

 

王可非

迟俊文

徐姗姗

肖亚男

董亚辉

2019.10.31

0

0

0

0

0

2019.11.1

0

0

0

0

0

2019.11.2

0

0

0

0

0

2019.11.3

0

0

0

0

0

2019.11.4

0

0

0

0

1

2019.11.5

0

0

0

0

0

2019.11.6

1

0

1

0

1

2、checkin log

 

时间

人员

Message

所属功能

Nov 4 18:58:46

董亚辉

声音开关bug

个人中心

Nov 6 14:54:02

王可非

丰富经典场景内容

经典场景功能

Nov 6 15:57:38

董亚辉

登录界面修改

登录功能

Nov 6 15:59:33

董亚辉

更新图库

图库

Nov 6 17:02:06

徐姗姗

Index change

首页界面

Nov 6 16:59:59

徐姗姗

app change

首页界面

3、小组成员代码量贡献

(1)数据表

人员

β阶段第一周代码量(行)

所占比例

王可非

118

67% 

迟俊文

0

0% 

徐姗姗

20

12% 

肖亚男

0

0% 

董亚辉

37

21% 

(2)饼状图

 

 

 

推荐阅读