第二次作业--熟悉使用工具
GIT地址 | https://github.com/Foreverux |
GIT用户名 | Foreverux |
学号后五位 | 62117 |
博客地址 | https://www.cnblogs.com/JQloveJX/ |
作业链接 | https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass1/homework/2793 |
声明:部分内容摘自@ChildishChange
Part 0. 背景
阿超家里的孩子上小学一年级了,这个暑假老师给家长们布置了一个作业:家长每天要给孩子出一些合理的,但要有些难度的四则运算题目,并且家长要对孩子的作业打分记录。
作为程序员的阿超心想,既然每天都需要出题,那何不做一个可以自动生成小学四则运算题目与解决题目的命令行 “软件”呢。他把老师的话翻译一下,就形成了这个软件的需求:
- 程序接收一个命令行参数 n,然后随机产生
n
道加减乘除(分别使用符号+-*/
来表示)练习题,每个数字在0
和100
之间,运算符在2
个 到3
个之间。 - 由于阿超的孩子才上一年级,并不知道分数。所以软件所出的练习题在运算过程中不得出现非整数,比如不能出现
3÷5+2=2.6
这样的算式。 - 练习题生成好后,将生成的
n
道练习题及其对应的正确答案输出到一个文件subject.txt
中。
Part 1. 配置环境
Visual Studio 2017 有着宇宙最强 IDE 的美称,它对 C++ 的支持也很好,在本教程中,为简化学员的开发难度,我们选择使用 VS2017 社区版(社区版(Community)指的是可免费提供给单个开发人员,给予初学者及大部分程序员支持,可以无任何经济负担、合法地使用的版本。)
下面提供三种安装方法:
- 官网下载:点击下载链接,浏览器将自动开始下载
-
下载迅雷,输入以下ed2k链接:
ed2k://|file|mu_visual_studio_community_2017_version_15.3_x86_x64_11100062.exe|1069960|5984B3CD547F9F213DE21EFE5887F08D|/
-
百度网盘:链接: https://pan.baidu.com/s/1jJXyRMA 密码: ub6c
安装教程,双击打开下载的exe文件,一直继续到如下图,选择.net桌面开发(这里我以前安装过,所以是这样的),由于vs体积较大,建议修改目录到非系统盘
较长时间的下载文件安装后重启即可。
遇到的问题:
安装过程基本没遇到什么问题,因为安装过程本来就很简单,一直下一步下一步就行。
Part 2. 克隆项目
- 在 https://github.com/join 这个网址处申请注册一个 Github 账号,申请成功后可在 https://github.com/login 处利用刚刚注册的账号进行登录,才能开始在 Github 上进行开发。
-
成功登录后,输入阿超仓库的网址https://github.com/Jupi4ter/AchaoCalculator(这个为我们班级所指定的仓库地址),点击右上角的 Fork ,将阿超的四则运算库拷贝到自己的同名仓库中,如下图所示:(PS:点击fork后需要进入自己的账号的仓,然后在clone)
3、安装 Git 软件,Git 的安装教程 在这里。(考虑到目前大多数人都是64位windows,故放一个git-windows-64位下载地址)。
4、新建一个文件夹,在空白处右键打开 Git Bash,输入 git clone <clone url>
,其中 <clone url>
即刚才复制的项目地址。
5、clone完以后,可在当前目录下看到一个与仓库同名的文件夹Calculator,进入Calculator,新建一个文件夹,重命名为你的 Github
账号名。
6、以 Github 账号命名的文件夹作为项目目录,同时项目建立在Calculator文件夹。
7、接下来接连使用 git add,git commit -m "Message"
(Message是你要写的内容)即可利用 Git 记录下所有的改动。如果是第一次使用 Git,
请需要在git命令行中使用如下两条命令配置自己的个人邮箱与 Commit 时的用户名,这里的邮箱和用户名最好与 Github 账号保持一致。
git config --global user.name "你的用户名"
git config --global user.email 你的邮箱号
下面是一些常见的Git操作
$ git clone [url]--下载一个项目以及它所有的版本历史
$ git add [file]--将文件进行快照处理用于版本控制
$ git commit -m"[descriptive message]"--将文件快照永久地记录在版本历史中
$ git push--上传当前本地分支commit到GitHub上
$ git pull--下载服务器上最新的本部并合并更改到本地
$ git reset [commit hash]--撤销所有[commit hash]后的的commit,在本地保存更改
$ git log--列出当前分支的版本历史
遇到的问题:
github是英文的,网站上很多地方都看不懂,通过网页翻译解决,但是翻译有很多不准确的地方,只有自己尝试性摸索,最后渐渐地了解了github。
Part 3.代码设计
1、代码设计思路:先随机生成n个四则表达式,然后计算表达式的值,最后保存。
<1>、生成四则表达式包括:
生成2-3个运算符,生成随机数字(判断是否符合要求,不能为小数,不能除0等),最后将运算符和数字拼接成表达式。
生成运算符:
生成随机数以及合成四则表达式:
<2>、计算结果并显示。
<3>、保存文件。
2、运行结果:
3、文件保存情况:
遇到的问题:
1、不知道怎么计算字符串表达式,通过百度解决;
2、忘记了这么保存文件,通过看书解决。
Part 4. 单元测试
1、创建单元测试:右键单击解决方案,可以添加一个新建项目,在类型里选择 单元测试
,新建一个名为 CalculatorUnitTest
的单元测试项目。(值得注意的需要选择对应的语言的单元测试)
(对于单元测试具体步骤,可以参考LoveSna的《C# 之在VS 中实现单元测试》)
2、单元测试
1)编写测试代码,测试代码的功能就是去调用被测试的类的方法;
2)编写期望测试代码返回的结果;
3)比较测试代码返回的结果与我们人工编写的期望的结果,在单元测试运行完毕后,VS 的左侧会弹出一个测试结果窗口。绿色代表通过,红色代表失败。
遇到的问题:
1、开始创建单元测试时选了(windows通用),一直引用不了项目,后来仔细检查发现;
2、单元测试代码不会写,通过百度查资料解决。
Part 5. 基本操作
1、断点的设置:左键单击代码行左边的灰色区域。
2、单步执行:调试->逐语句(F11)
3、条件断点:将鼠标移动到断点,弹出设置,进入并开启条件断点。
Part 6. 回归测试
Part 7. 效能工具介绍
vs2017性能探查器,点击分析->性能探查器,
进入以后,我们只需要勾选CPU使用率即可。
效能分析报告如图:
详细报告如图(部分):
效能分析会帮助程序员从机器的运行角度方面去思考程序的运行效率,对程序的优化有着重要作用。
Part 8. 提交代码
在完成 Debug
与 单元测试
之后,我们现在来学习一下如何提交代码到 Github 上,并利用 Github 进行团队协作。之前我们已经介绍过了 git add
与 git commit
命令,
但这两条命令只会对本地的仓库进行修改,也就是说之前的所有操作都是离线的。我们要想让 Github 上也跟踪到最新的改变,就需要使用 git push
命令。
在使用该命令前,请确保所有本地的改动都已经 add
并 commit
了。可以用 git status
来检查:
然后 git push,出现登录框,登录等待即可。
在完成 push 后,我们就可以开始向源仓库(即阿超的仓库)发起 Pull Request(指发起请求给仓库贡献代码)。打开你 Fork 后的项目主页,如图所示,点击按钮New pull request
(由于之前更改了分支,所以要切换才能看到push的文件)
请求结果如下图:
Part 9. 心得体会
通过此次作业,熟悉了github、git的使用,回顾了以前学过的C#(忘得都差不多了,过程中一直翻书,百度),初次了解了单元测试和回归测试,
之前都是挺老实讲,很空洞,不知道具体该怎么做,现在知道了,还有就是学会了能效分析工具的使用,体会到了软件工程真真的含义,不仅仅是
敲代码,还有其他一系列工作,这次作业虽然很累,但是确确实实学到了很多东西,有很大收获,还是很开心的。