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

GIT地址 我的地址
GIT用户名 yujiuer
学号后五位 24203
博客地址 我的地址
作业链接 作业

一、配置环境

上学期已经安装好了Visual Studio 2015,所以没有再重新下载2017。
在这里插入图片描述

二、克隆项目

1、登录自己的Github 账号,输入班级指定的仓库地址https://github.com/Cherish599/AchaoCalculator,点击右上角的 Fork ,将阿超的四则运算库拷贝到自己的同名仓库中:
在这里插入图片描述2、拷贝成功后,可以看到自己已经拥有了一个同名仓库。这里我登录的是 yujiuer 的账号:
在这里插入图片描述3、安装好 Git 软件后,在自己拷贝项目的主页的绿色按钮处找到一个可克隆的项目地址,在阿超四则运算的文件夹里打开 Git 命令行软件输入 git clone 命令,将项目克隆到本地:
在这里插入图片描述
4、进入项目文件夹,新建一个文件夹,重命名为我的 Github 账号名yujiuer:
在这里插入图片描述

三、代码设计

1、生成不重复的式子,利用DataTable方法对随机产生的式子进行运算;排除了除0操作、运算结果有小数或负数的情况;运行并输出到TXT文件“subject.txt”中:

using System;
using System.Data;
using System.IO;

namespace ConsoleApplication2
{
    public class Program
    {
        public static string[] Operation = { "+", "-", "*", "/" };

        public static string Formula()
        {
            string formula = null;
            var seed = Guid.NewGuid().GetHashCode();
            Random random = new Random(seed);
            int number_1 = random.Next(0, 101);
            int number_2 = random.Next(2, 4);
            formula = number_1.ToString();
            for (int i = 1; i <= number_2; i++)
            {
                number_1 = random.Next(0, 101);
                int operation = random.Next(0, 4);
                formula = formula + Operation[operation] + number_1.ToString();
            }
            return formula;
        }

        public static string Calculate(string formula)
        {
            DataTable dt = new DataTable();
            string result = dt.Compute(formula, "").ToString();
            while (formula.Contains("/0") || result.Contains(".") || Convert.ToInt32(result) < 0)
            {
                formula = Formula();
                result = dt.Compute(formula, "").ToString();
            }
            return result;
        }
        static void Main(string[] args)
        {
            Console.Write("请输入题目个数:");
            int n = Convert.ToInt32(Console.ReadLine());
            StreamWriter sw = new StreamWriter(@"C:\软工作业\AchaoCalculator\subject.txt");
            for (int i = 0; i < n; i++)
            {
                string formula = Formula();
                string result = Calculate(formula);
                string final_MathFormula = formula + "=" + result;
                Console.WriteLine(final_MathFormula);
                sw.WriteLine(final_MathFormula);
            }
            sw.Close();
            Console.ReadLine();
        }
    }
}

2、运行结果
添加了图片后就自行加上了水印,有点神奇
在这里插入图片描述在这里插入图片描述

四、单元测试

1、新建一个名为 UnitTestProject1 的单元测试项目,为单元测试项目增加对原项目的引用,以实现调用原项目函数接口的功能:
在这里插入图片描述
2、由于我用的是vs2015社区版,和2017有一点不同,找不到教程里面说的配置属性,没做配置这一步骤。
3、单元测试代码:
在这里插入图片描述
4、测试结果:
在这里插入图片描述

五、效能工具

1、点击 IDE 顶部菜单栏中的分析 ,打开性能探查器,选择测试 CPU 使用率,开始效能分析,可以得到一份完整的效能分析报告:
(不知道怎么增加循环体-_-||,于是我通过增加题目数量来达到运行足够长时间,不知道可不可以...)
在这里插入图片描述
2、点击创建详细的报告:
在这里插入图片描述3、点进 ConsoleApplication2.Program.Calculate看看,可以看到非常清晰的每行代码占用 CPU 的时间比例:
在这里插入图片描述

六、提交代码

1、配置邮箱和用户名
在这里插入图片描述
2、用 git status 来检查以确保所有本地的改动都已经 add 并 commit 了;出现nothing to commit 后使用 push 命令,会弹出一个窗口要求登录 Github,此时输入 Github 的 用户名或邮箱与密码即可成功 push:
在这里插入图片描述
3、在完成 push 后,向源仓库发起 Pull Request,再点击 Create pull request 即可发起请求:
在这里插入图片描述

七、感想

这次作业暴露了自己的C#掌握的很不扎实,以前没有重视多练习写代码这个事情,导致写代码很困难,但现在如果不及时补救那么在以后的项目肯定会出大问题T-T,所以要抓紧时间补弱了。另外感觉自己英语水平不太行,GitHub里面很多指示都看不懂。总之,这次作业对我来说收获了很多,同时也是个警钟,让自己看到不足。

posted @ 2019-09-19 18:30  黄耀萱  阅读(243)  评论(1编辑  收藏  举报