《构建之法》第二次作业

老子叫甜甜 提交于 2020-11-28 08:43:15
Git地址 <a href="https://github.com/FantaPi/Calculator" style="color:#00BFFF">Calculator</a>
Git用户名 FantaPi
学号后五位 62132
博客地址 <a href="https://www.cnblogs.com/fantapi/p/11552936.html" style="color:#00BFFF">地址链接</a>
作业链接 <a href="https://edu.cnblogs.com/campus/xnsy/2019autumnsystemanalysisanddesign/homework/7584
" style="color:#00BFFF">第二次作业</a>

<font size=2 face="等线">

##Part 1.配置环境   vs的安装配置已经在以前学习过程中配置好了,以下是我的vs安装引导程序显示的已安装的模块。

##Part 2.克隆项目   通过GitHub将阿超的四则运算Fork到了自己的仓库中,如下图:

  同样的,git在以前做项目时已经安装好了,而这次我选择的是GitHub Desktop来Clone仓库(GitHub desktop可以直接通过URL等方式克隆下来,不同于Git的命令行操作,GitHub Desktop的操作很简单。),下图则是显示了GitHub Desktop clone仓库后的情况: ###github desktop

###我的电脑从GitHub仓库上clone下来的文件存放情况

  在这一步骤中,因为要求使用C#编写,因此需要改变默认克隆分支,而我用的不是Git,而是GitHub,导致我花费了十几分钟才找到解决方法:我需要在GitHub仓库网址中修改默认分支为cplusplus(我一直在应用程序,即GitHub Desktop上操作,致使我找不到好的解决办法)。做完上述步骤以后,便打开vs新建一个c#控制台应用,项目地址便位于clone下的仓库下,上面的图片可以看到项目的文件夹地址。

  下图便是运行程序过后生成的文档:

##Part 3.单元测试   当我看到单元测试这一部分时,并没有注意到提示里面讲的是c++,导致我在做单元测试时,一直照着c++的格式去做,结果找不到附加依赖项,最后才发现我眼瞎😭,最后按着c#的方法去做,单击右键创建单元测试,如下图,很轻易地便弄了出来,下次再也不敢粗心大意了:(:(:(。

  并在相对应位置写下单元测试代码:

[TestMethod()]
          public void CalculatorTest()
          {
               StringBuilder s = new StringBuilder();
               string tmp = Calculator.createExpression();
               while (true)
               {
                    if (Calculator.Calculate(tmp) >= 0)
                    {
                         s.Append(tmp + " = " + Calculator.Calculate(tmp) + "\r\n");
                         break;
                    }
               }
               
               System.IO.File.WriteAllText("D://test.txt", s.ToString(), Encoding.Default);
          }

  运行结果如下,第一幅是vs单元测试成功后的图片,第二幅则是单元测试产生的结果:

##Part 4.基本操作   在vs中,通过打断点的方式进行单步调试,可以很清楚的看到各个变量的值,并判断它是否与预期相符,这样很容易发现错误的根源。在程序的编写过程中,运行时一直出现数组越界访问的情况,这种情况令我发狂,以至于在很长时间找不到解决方法,最后静下心来,通过单步调试才找到问题根源出现在我定义的字符串数组上,于是我便改用另一种方法存储数据,才解决这一问题。 ##Part 5.回归测试   本次作业是第一次进行,因此代码层面来看,回归测试很有必要,从而以此保障程序的正常运行,而不至于因为一些bug的存在而致使产生严重的错误。同时,也因为时间较短,回归测试做得较少,只是修改了一两次,在上面GitHub desktop下的图片可以看出修改情况以及每一次修改的备注。 ##Part 6.效能工具使用   下面几张图是我这个小程序通过效能工具得出来的相应结果:

##Part 7.提交代码

##Part 8.感想与分享   在这次实验中,我收获最大的方面就是单元测试与效能分析了。以前在写程序的时候,代码总会有各种各样的问题,而这些问题我又总是要花费很多时间在这上面,虽然了解单步调试等调试方法,但是在效率上我总是提不上来,而这次通过单元测试,我对代码的问题测试有了大概的方向。同样,通过把握相关测试要点,才会系统的学习到有关代码测试的知识,而不是漫无目的的修修补补。同时在这一过程中,对于像vs这种工具也有了更进一步的了解,对多个程序的同时使用以达到编程目的的方法也有了一定的掌握。   同样的,越了解Github这样的版本控制工具,越发觉得它的实用之处,它不仅能够让多人合作的项目更易于管理,还能够实时的更新与操作。以后的编程或项目中,Git或许会成为我的一大助力。 </font>

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!