<Git地址>:https://github.com/Joanna1220/Calculator/tree/java
<Git用户名>:Joanna1220
学号后五位>:07105
<博客地址.:https://www.cnblogs.com/joanna1220/
<作业链接>:https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass2/homework/2795
一、环境配置过程
本次作业使用Visual Studio2017、git、github,vs和git安装很顺利,未出现问题,之后注册自己的github账号。
二、克隆项目
先进入阿超的仓库然后点击fork,然后创建一个项目文件夹,右击打开git bash,编写克隆命令,成功后,点击vs创建C#的控制台程序
三、代码设计过程
因为很久没有使用C#语言,所以对语法有些生疏了,并且因为C#和C++在VS中配置方法不一样,所以出现一些困难,在编写代码过程中逐渐解决。
编写代码时我的第一次的思路是设计一个计算方法,进行四则运算时多次调用,但最后因为多次调用方法而不知道如何判断结果为非负数和整数,并且无法使运算符在二至三之间,所以没有编译成功;
第二次的想法就比较简单,通过switch语句直接把所有的可能的四则运算情况列举出来,但在运行时出现以下问题:
最后修改了Console.WriteLine的输出格式,编译成功。
补充:C#输出有两种常用格式:Console.WriteLine(“{0}”,a);
Console.WriteLine(a+"*"+b+"="+c);
运行使用第一种格式时编译不成功,但是使用第二种编译成功,不知道为什么???
但是代码的算法仍存在许多漏洞,比如无法进行四位数运算,运算符优先级也不明确。虽然认为四则运算应该使用栈实现,但还没有想出具体代码如何实现。
三、单元测试
先创建一个单元测试项目,添加引用
引用后需要点击项目属性,出现属性页进行属性配置后一系列操作,但不知道为什么我没有找到属性页,可能是C#和C++程序不一样??点击后出现以下界面:
编写单元测试代码时因为定义的方法里面有随机数,所以不知如何下手编写,虽然知道测试的理论知识和方法,但实际操作还是存在很大的困难,最后直接进行测试,测试结果如下:
测试时我发现几次运行时间不相同,不知道这种结果是否正常???
四、性能分析
点击 创建详细的报告,出现以下界面:
点击其中一个函数,具体代码内容如下:
性能分析结束后,进行断点调试:
虽然进行了断点调试之内的操作,但对这一部分仍不熟悉,对每一个操作的目的都不是很了解。
五、提交代码
使用git提交时非常不顺利,出现了以下问题:
原因是git不能上传.vs文件,所以需要忽略掉.vs文件。解决方案:https://www.cnblogs.com/biao-123/p/10253480.html
原因是github中的README.md文件不在本地代码目录中,所以需要合并代码。解决方案:www.cnblogs.com/chunshu/p/5292892.html
最后代码成功提交:
刷新github界面如下:
最后点击 Create pull request
发起请求,整个作业到此完成。
总结:1.完成本次作业的过程中出现很多问题,直到结束仍有部分问题未得到解决,首先对git的使用是知道使用哪些命令语句但其真正含义和目的并不完全清楚,导致出现问题不能准确发现哪一步骤出错并及时解决;
2.编写代码设计算法时,因为基本功不扎实,所以总是知道解决问题的大致方向但无法用代码准确地表达出来,课后还需要再夯实下基本知识,看看数据结构与算法设计;
3.之前编写代码时并没有进行单元测试和性能分析,所以对这一块比较陌生,即使知单元测试的理论知识和方法,但实际操作仍存在一些问题和疑惑,并且本次作业完成还未涉及回归测试,本模块能力有待提高;
4.虽然疑惑和问题很多,但通过本次作业我也发现了一些需要掌握的知识有待解决,学习了测试、单元测试、回归测试、利用git提交代码。
补充:1.在第一次完成本次作业时遇到很多困难,代码提交成功后我又对代码进行了修改,但是这过程就出现很多我第一次没有出现的问题,之后通过上网查阅各种命令错误的原因和解决方法,最终成功提交代码,但是在百度后此过程仍有几个问题还解决。以下错误提示的解决方法是什么???
2. 作业中四则运算的算法很简单不够完善,之后会尝试使用栈的方法实现,有待更新。