个人第2次作业:熟悉使用工具

个人第2次作业:熟悉使用工具

项目内容
GIT地址sunmying的GIT地址
GIT用户名sunmying
学号后五位24201
博客地址我的博客
作业链接个人第2次作业:熟悉使用工具

Part 0. 背景

阿超家里的孩子上小学一年级了,这个暑假老师给家长们布置了一个作业:家长每天要给孩子出一些合理的,但要有些难度的四则运算题目,并且家长要对孩子的作业打分记录。

作为程序员的阿超心想,既然每天都需要出题,那何不做一个可以自动生成小学四则运算题目与解决题目的命令行 “软件”呢。他把老师的话翻译一下,就形成了这个软件的需求:

程序接收一个命令行参数 n,然后随机产生 n 道加减乘除(分别使用符号+-*/来表示)练习题,每个数字在 0 和 100 之间,运算符在 2 个 到 3 个之间。
由于阿超的孩子才上一年级,并不知道分数。所以软件所出的练习题在运算过程中不得出现非整数,比如不能出现 3÷5+2=2.6 这样的算式。
练习题生成好后,将生成的 n 道练习题及其对应的正确答案输出到一个文件 中。

Part 1. 配置环境

Visual Studio 2015的安装与配置
Visual Studio 2015配置界面

Part 2. 克隆项目

1、登录Github。
2、成功登录后,输入阿超仓库的网址https://github.com/Cherish599/AchaoCalculator,点击右上角的Fork ,将阿超的四则运算库拷贝到自己的同名仓库中。
3、拷贝成功后,可以看到自己已经拥有了一个同名仓库,如图:
同名仓库
4、在自己的电脑上安装 Git 软件,在自己拷贝项目的主页的绿色按钮处可以找到一个可克隆的项目地址,如图:
绿色按钮界面
5、在 我的电脑 中找到D盘下的软件工程目录(D:\软件工程),打开 Git 命令行软件,如图:
Git Bash 界面
6、在完成上述操作后,可在当前目录下看到一个与仓库同名的文件夹AchaoCalculator ,这就是克隆到本地的项目。进入项目文件夹,新建一个文件夹,重命名为我的 Github 账号名(sunmying)。

新建sunmying文件夹
7、以 Github 账号命名的文件夹作为项目目录,打开 VS2015,点击左上角的 文件 -> 新建 -> 项目 ,如下图所示,选择 Visual C# 中的 控制台应用程序 。注意更改位置 参数到刚刚新建的文件夹所在的路径,解决方案的名称为AchaoCalculator。
新建项目界面
8、代码设计
(1)代码设计思路:

Step1:利用formula()函数生成一个随机序列的等式,其中运算符的个数也同样是随机的(2-3个)

Step2:将formula()返回的等式传入Solve()函数中进行求解,返回等式+计算结果(如:3*4+5=17),若计算结果为小数或等式包含÷0操作则重新生成

Step3:调用calculator()函数生成指定数量的等式,并通过Fwrite()函数写入到本地文件中

部分代码见下图:
生成等式的函数——利用formula()函数生成一个随机序列的等式
生成等式的函数
求解生成等式的函数——将formula()返回的等式传入Solve()函数中进行求解
生成等式的函数
打印文件的函数——通过Fwrite()函数写入到本地文件中
打印文件的函数
写入文件到记事本
(2)运行结果
代码运行结果
(3)记事本显示结果
记事本显示结果

Part 3. 单元测试

1、要想在 VS2015 里对 C# 项目进行单元测试,首先要新建一个测试项目。右键单击解决方案,可以添加一个新建项目,在类型里选择 单元测试,我们这里新建了一个名为 CalculatorUnitTest 的单元测试项目。
单元测试项目
2、在项目创建成功后,为单元测试项目 CalculatorUnitTest 增加对原项目的引用,以实现调用原项目函数接口的功能。
添加引用
3、在完成单元测试的项目配置后,下面我们就可以开始写单元测试代码了。
(1)下面对该项目中的Solve()函数进行测试,具体测试代码如下:
Solve函数测试
(2)单元测试问题:

●没有将测试中运算符间的空格去掉,与运行结果格式不一致,导致一直出现错误信息

●对函数的测试,没有满足所有出现的情况,只是简单的测试

●代码的规范性对单元测试的影响很大

Part 4. 基本操作

1、断点:鼠标点击窗体左边缘,形成一个红色的一点即可
断点
2、单步运行:点击调试图标或按F5就能开始对程序的调试,调试过程中会用到一个调试框,通过逐语句图标使程序一句一句运行,达到调试的效果。观察变量的值是否满足程序设计的要求,找到出现问题的原因。
调试框
单步运行
在调试过程中可以添加监视变量,时时监测变量值的变化。
监视变量msg
3、条件运行:右键单击红色的断点符号,即可弹出条件选项。在这里我们可以输入 Condition,设定为只有某些前置变量的值满足条件时我们才会触发断点,帮助我们高效率测试。
条件运行

Part 5. 效能工具介绍

为了测试并改进程序生成四则运算算式的效率,我们需要使用效能分析工具。效能分析工具并不能帮助我们直接改进算法的效率,但它可以帮我们分析找到代码中执行效率最差,也就是所谓 效能瓶颈 的部分。这之后我们就可以把精力花费在改进瓶颈上,从而高效快速地提升程序性能。

Visual Studio 内置了非常棒的效能工具,学名叫做 性能探查器 。点击 IDE 顶部菜单栏中的 分析 ,即可看到 性能探查器
性能探查器
我们这里关注在程序的执行效率方面,所以我们选择测试 CPU 使用率 即可。
CPU使用率
开始效能分析,即使程序没有执行完成,效能分析也是可以强行结束的。让程序跑几十秒之后,就可以结束。点击效能分析工具界面左上角的 停止收集 即可停止收集数据。
收集数据
完整的效能分析报告,如图:
完整的效能分析报告
在一份完整的效能分析报告中点击上图中的 创建详细的报告...,创建完成后会自动打开一个后缀为 .vspx 的文件,如下图所示:
详细报告.vspx
点进AchaoCalculator.Program.formula 看看,可以看到非常清晰的每行代码占用 CPU 的时间比例,如下图左侧所示。然后我们就可以着手改进代码的效率,比如结合场景用更高效的数据结构,优化一些没有用的代码等等。
CPU时间比

Part 6. 提交代码

1、.配置自己的个人邮箱与 Commit 时的用户名。
配置邮箱与用户名
2、使用git add .和git comit -m""命令将改动推送到本地git库中。
推送
3、使用git status命令来检查,出现 nothing to commit 即说明已经可以 push 了。使用 push 命令后,会弹出一个窗口要求登录 Github,此时输入 Github 的 用户名或邮箱 与 密码 即可成功 push。
push命令
登录Github
4、在完成 push 后,向源仓库发起 Pull Request。打开你Fork 后的项目主页点击按钮 New pull request,成功提交代码。
成功提交
在这里插入图片描述

Part7.感想

…φ(๑˃∀˂๑)♪ 学习是我的全部(っ•̀ω•́)っ✎⁾⁾ 我爱学习,唔唔唔~~~~~~终于把这次作业做完了 ,虽然煎熬,但是还是有很多收获的,第一次进行这么全面的去完成一个小项目,学会了Github的使用,对代码进行单元测试,回归测试,效能分析,对程序的仔细调试等等有了初步了解。

转载于:https://www.cnblogs.com/SY980808/p/11552450.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值