软件工程——代码泛读结对
一、练习要求(主要是将项目上传至gitee)
1.源码组织方式(给出仓库地址):
(1) 创建针对本作业的项目和软件版本库,在版本库中建立“src”和“doc”两个文件夹,分别存储软件系统的源代码和报告文档
(2) 建立master、develop以及成员分支(a_branch),将当前版本存入master目录下
(3) 实践操作参考:组长组员两个人协同开发:组长负责维护开发分支dev,组员向dev上传提交;当dev测试合适后,组长有唯一权限向master上传作为最终结果。
① 远程仓库有master和dev两个分支
② 组长本地有master和dev分支,分别关联对应的远程分支
③ 组员本地只有一个分支,关联远程dev分支【可以选择clone某一个远程分支到本地】
④ 具体开发流程是:
(1) 组长和组员分别在各自的本地dev分支开发,有阶段性成果后push到远程dev【若有冲突,解决冲突再合并】
(2) 当开发完成、结果稳定后,组长将本地的master和dev分支merge,再把master分支push上去
二、实验问题和心得
1.拿到本次实验题目时,我跟小组成员一起进行商量,是对微人事还是对小米便签进行泛读,最后考虑到本学期另一门课程《Android移动应用开发》也使用as进行开发,所以考虑到可以在对as进一步熟悉和使用的情况下,对小米便签进行结对泛读。
2.可以说小米便签代码确实很多,包名类名都很多,但是因为是结对泛读,所以我们也对代码的泛读进行了分工,一起讨论并完成用例图、包图、类图等,最后将as的项目代码上传至gitee也遇到了不同程度的问题,但是都一起完美解决了。
3.在对gitee进行操作的时候,对于一些基本的命令如:创建分支,查看分支,切换分支,整合分支到master等命令有了一定程度的掌握。实验后面写迷糊了,我在最后一步,即将本地的master和dev分支merge,再把master分支push到远程仓库时出了问题,一开始我是觉得先将dev进行merge到master。跟着在博客找到的方法进行操作时,可能写迷糊了,我以为dev并没有整合到maser,然后push的时候并没有push到master,所以失败了。但是后面仔细想了想,这因为是在dev分支下push到远程master,自然是不行的,因为本地dev跟远程master并不是关联的。就是在这卡了一点时间,脑子没转过来到底最后上传到远程master的东西是什么。
4.在小组成员将代码上传至远端dev出了问题时,我也在我这边对可能的问题进行了探查,通过网上查找,有可能是我作为仓库管理员没有对小组成员(开发者)开放对于分支dev的权限等,所以我也去搞了一下保护分支。
4.通过本次代码结对泛读,我认识到了自身对于as导入代码并进行环境调整、gitee的不够熟悉的不足,但是实验最后也对于这两个软件以及gitee一些相关的命令有了更加深刻的体会和掌握,而且当和小组成员遇到问题时,互相讨论、互相寻找答案并且成功解决问题感到很自豪,这次结对泛读代码确实是“1+1>2”的。