现代软件工程 第3-6章 作业

1.GitHub版本更新流程

题目:请参照此文:http://www.ruanyifeng.com/blog/2015/12/git-workflow.html 制定本组项目的GitHub版本更新流程。

广泛使用的工作流程有Git flow、Github flow和Gitlab flow。比较了三种工作流程,我们选择了Github flow流程。有以下几点原因:

1.项目规模较小,用Git flow的简化版就能达到我们的需要。

2.它长期只有一个分支 master,利于管理

3.因为项目要不断修改,不断改进,需要“持续发布”

4.小组成员编码能力有限,很多地方需要大家一起协作,所以不便分成很多分支

(引用:http://www.ruanyifeng.com/blog/2015/12/git-workflow.html

具体Github flow更新流程操作如下:

第一步:创建新的分支

首先我们用git checkout -b flowtest 命令 创建一个分支,git branch 命令可以看出现在有两个分支,并且现在在flowtest 分支。

第二步:发起一个pull request

以代码规范文档为例。首先将文档在本地创建之后,用git add、git commit、git push命令之后,上传到远程分支flowtest中。这时,这个分支目前的工作已经完成,可以进行合并操作了。因为是多人协作,所以我们要通知其他Collabrators。我们可以在Github网站上看到pull request页面。这时Pull request数量还是0。

此时发起一个pull request有两种方法。一个是点开pull request页面,读完introduction之后,会有一个create a pull request的链接,点击直接可以发起。

另一种方法是在code选项卡这点击New pull request按钮。

最后在Open a pull request页面填写相关的文字。(文档支持markdown)就可以发起一个pull request了。

第三步:评审文档、代码

当一个pull request发起后,小组的所有成员都可以用自己的账号看到这个请求。这时,大家可以提交自己的想法,有什么需要改进的,如果觉得已经达到要求,就可以通过Merge pull request按钮,将这个分支merge到主分支。

第四步:删除分支

pull request被接受后,这个分支就没有作用了,此时我们将该分支删除即可。

这时,分支就被我们删除了,同事pull request也被我们关闭了。这时就剩下master主分支了,可以继续进行开发。但我们也可以随时查看之前的pull request的操作历史。

因此,以后我们小组的Github版本更新流程就采取Github flow的方式,具体操作就按照上面的说明来操作。

2.代码规范

题目:制定本组的代码规范、GitHub提交源码的标准。

经讨论,我们决定用ajax+C#.net开发网页,用Visual Studio IDE开发。因此,我们制定了C#的代码规范。

因为代码规范特别多,就不在这一一列举了,以下是代码规范的简单目录。具体的代码规范,请前往https://github.com/Hahalovejava/Calculate 在Github 中,我们上传了C#_code_standard.docx和Code_Standard.md两个版本的代码规范。

一、代码注释

1、代码注释约定

2、模块头部注释规范

3、方法注释规范

4、代码行注释规范

5、变量注释规范

二、命名规则

1、命名的基本约定

2、类和接口命名

3、方法命名

4、变量命名

5、组件名称缩写列表

三、其它规范

1、编程风格

2、空白

3、错误处理

4、其它

3.例会

时间: 2024-10-04 05:47:48

现代软件工程 第3-6章 作业的相关文章

现代软件工程 第7~9章作业 第2题——张功

我们团队设计的四则运算软件的需求功能大概有如下内容: 1.注册功能:用户能够通过本系统进行注册账号. 2.登陆功能:用户能够通过本系统进行登陆账号. 3.查看及修改个人信息功能:用户能够通过本系统进行查看个人信息,如有需要可对其进行修改. 4.学习功能:用户能够通过本系统,进行基础运算的运算过程的学习或回顾. 5.自主出题功能:用户能够通过本系统给自己出题进行测试,系统将计算出答案,并与用户实际答案进行比对,获得测试结果. 6.测试功能:用户能够通过本系统进行四则运算测试,包括简单四则运算.混合

第一、二章作业

第一章作业: 1.四则运算生成器(python) __author__ = 'Doris' from random import * def createAnExpression(): beginNum = 0 endNum = 100 a = randint(beginNum, endNum) b = randint(beginNum, endNum) c = randint(beginNum, endNum) d = randint(beginNum, endNum) opChoice =

现代软件工程 第十二章 练习与讨论

1  什么时候开始考虑用户体验? 既然用户体验和用户界面对一个项目这么重要,但是负责这类工作的设计师并不是软件工程师,设计师们什么时候加入进来为好呢? 不同的人有不同的看法. 最先:“你要从用户体验开始,然后反过来寻求技术的解决方案”.[i] 最后:代码写得差不多了,请设计师(或者美工)来美化一下,画个图标,对齐一下文字. 你认为应该如何根据项目和用户的类型来决定设计师与工程师的交互方式? 2 个人电脑界面的演变 参考下面这个网页和其他资料,练习自己使用软件的经历,讨论个人电脑界面的演变, 以及

第六章作业

第六章作业  6.31 6.31 解答: A. 高速缓存大小C=E*B*S=4*4*8=128 字节 B.

现代软件工程 第十四章 练习与讨论

15.3.1 有些成功人士或公司认为不需要独立的测试角色(Test),你怎么看? 我猜想和踢足球类似,还是那几个原因: 人太牛: 不世出的天才,例如高德纳写书时发现排版软件不好用,就自己写了一个.也没听说他为这个软件项目请了什么独立测试人员.对了,他不读Email,有秘书帮他处理这些事——这也是一种分工! 有些软件工程师是在后台钻研和开发高难度的算法,或者做某种后台的处理工作,这个工作本身的难度较高,测试主要是自己通过工具完成.如果一定要找一个测试人员,这个测试人员的水平要相当高才行,如果水平那

软件工程(第三次作业)

软件工程(第三次作业) 组员:周德莉.王铭霞 一.题目 在之前编写的四则运算程序基础之上做如下改进: 1  请参照教材Page57:4.2-4.3节中内容,修改原程序,使之符合 “代码风格和设计规范”的基本要求: 2  请采用模块化设计思想,修改之前的code,将 “计算功能” 封装起来 小提示: 假如在C语言环境下,可将函数声明与具体实现分别存放在头文件(.h)和源文件(.c)中: 3  通过测试程序和API 接口,测试其简单的加法功能. 小提示: 单元测试方法请参看教材Page21:2.1.

02组_现代软件工程_第03次作业——对于自身评价(原有水平以及长远目标分析总结)

02组_现代软件工程_第03次作业 --对于自身评价(原有水平以及长远目标分析总结) 李聿轩 ---------------------------------------------------------------------------- 一.原有水平 1.技术水平 ①Java基础开发 A.基本语法逻辑的代码完成 B.利用基本内容完成控件功能的设计以及实现 C.多线程的管理控制,队列,栈的使用相对较少 ②Android开发 A.会使用原生的控件显示,利用诸如Activity,Servic

现代软件工程 第十五章 练习与讨论

15.3.0 案例分析 可以看看这两个学生项目的例子,推断出这些团队的血型: STG游戏的跳票(为了完美,推迟了7天,但是7天之后也没有发布……)[leal1] [i] 英语学习软件(说了“明早发布”,但是明早一直没到)[ii] 15.3.1  反动分子阿超 在最后的稳定阶段,阿超不断地把事情推到下一个版本,二柱和果冻都不耐烦了——为什么不拼一下,把所有事情在第一版搞定? 阿超: 有两种做法—— 1. 根据事情的轻重缓急,安排大部分事情在下一个版本做.正因为我们对项目.团队.商业模式有信心,才会

软件工程网络15个人阅读作业1

软件工程网络15个人阅读作业1 Task1:博客账号 http://www.cnblogs.com/mz201521044152/ Task2:码云账号 https://gitee.com/mxz0/events Task3:完成博客-阅读与思考 ##阅读参考材料,并回答下面几个问题: (1)回想一下你初入大学时对网络工程专业的畅想 当初你是如何做出选择网络工程专业的决定的? 你认为过去两年中接触到的课程是否符合你对网络工程专业的期待,为什么? 你觉得计算机是你喜欢的领域吗,它是你擅长的领域吗?

软件工程网络15个人阅读作业2 201521123038 游舒婷

软件工程网络15个人阅读作业2 提出问题 问题1 我看了书P85这一段文字, 结对编程中有两个角色: 1.驾驶员(Driver):控制键盘输入. 2.领航员(Navigator):起到领航.提醒的作用. 这两个角色还是可以互换的. 我的疑惑是,结对编程两个人的能力不一定在同一水平线上,每个人都有自己比较擅长的地方,那么,如果两个角色可以互换,是否说明双方都要读懂对方的代码.假设,一方负责前端设计,一方负责后端开发,虽然两种技术之间有部分相关,但是这意味着两方都要了解对方的代码么? 问题2 我看了