word count(小组)

本文详细介绍了使用C#进行代码性能测试的过程,包括基本功能与扩展功能的实现,如字符、单词计数等,并深入探讨了性能测试中发现的问题及解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

合作者:201631062314,201631062214

码云地址:https://gitee.com/dsjyun/Word-Count-three

一、代码互审:

    第一次都是实现了基本功能,没有完成扩展功能,这次还有个高级功能,于是讨论了后续功能如何实现。

我们的意见基本一致,认为高级功能需要窗体来实现比较简单,于是决定用C#语言来实现。

二、部分代码

using System;
using System.Diagnostics;



namespace WordCount
{
    class program
    {
        static void Main(string[] args)
        {
            Console.Write("wc.exe -c file.c\t返回文件 file.c 的字符数\n" +
                          "wc.exe -w file.c\t返回文件 file.c 的单词总数\n" +
                          "wc.exe -l file.c\t返回文件 file.c 的总行数\n" +
                          "wc.exe -a file.c\t返回更复杂的数据(代码行/空行/注释行)\n" +
                          "wc.exe -o output.txt\t将结果输出到指定文件output.txt\n" +
                          "wc.exe -e stopList.txt\t停用词表,统计文件单词总数时,不统计该表中的单词\n" +
                          "wc.exe -s\t循环执行所有.c文件\n");
            Wordcount wc = new Wordcount();
            while (true)
            {
                Console.WriteLine("--------------------------");
                Console.WriteLine("输入命令:");


                string str = Console.ReadLine();


                Stopwatch stopwatch = new Stopwatch();
                stopwatch.Start(); // 开始监视代码运行时间

                

                wc.ExecutiveCommand(str);

                stopwatch.Stop(); // 停止监视
                TimeSpan timespan = stopwatch.Elapsed; // 获取当前实例测量得出的总时间
                string hours = timespan.TotalHours.ToString("#0.00000000 "); // 总小时
                string minutes = timespan.TotalMinutes.ToString("#0.00000000 "); // 总分钟
                string seconds = timespan.TotalSeconds.ToString("#0.00000000 "); // 总秒数
                string milliseconds = timespan.TotalMilliseconds.ToString("#0.00000000 "); // 总毫秒数
                Console.Write("运行时间  "+timespan);

            }
        }

    }
}

主函数,性能测试
主函数+性能测试
using System;
using System.Diagnostics;



namespace WordCount
{
    class program
    {
        static void Main(string[] args)
        {
            Console.Write("wc.exe -c file.c\t返回文件 file.c 的字符数\n" +
                          "wc.exe -w file.c\t返回文件 file.c 的单词总数\n" +
                          "wc.exe -l file.c\t返回文件 file.c 的总行数\n" +
                          "wc.exe -a file.c\t返回更复杂的数据(代码行/空行/注释行)\n" +
                          "wc.exe -o output.txt\t将结果输出到指定文件output.txt\n" +
                          "wc.exe -e stopList.txt\t停用词表,统计文件单词总数时,不统计该表中的单词\n" +
                          "wc.exe -s\t循环执行所有.c文件\n");
            Wordcount wc = new Wordcount();
            while (true)
            {
                Console.WriteLine("--------------------------");
                Console.WriteLine("输入命令:");


                string str = Console.ReadLine();


                Stopwatch stopwatch = new Stopwatch();
                stopwatch.Start(); // 开始监视代码运行时间

                

                wc.ExecutiveCommand(str);

                stopwatch.Stop(); // 停止监视
                TimeSpan timespan = stopwatch.Elapsed; // 获取当前实例测量得出的总时间
                string hours = timespan.TotalHours.ToString("#0.00000000 "); // 总小时
                string minutes = timespan.TotalMinutes.ToString("#0.00000000 "); // 总分钟
                string seconds = timespan.TotalSeconds.ToString("#0.00000000 "); // 总秒数
                string milliseconds = timespan.TotalMilliseconds.ToString("#0.00000000 "); // 总毫秒数
                Console.Write("运行时间  "+timespan);

            }
        }

    }
}

主函数,性能测试
功能代码

三、基本功能与扩展功能的测试:

1.数字、单词、标点符号测试正常

 

 

 

 

 

2.运算符、空行测试,发现空行算作了一个单词

 

扩展功能,测试正常

四、性能测试

  

通过显示后台运行时间发现单一命令的执行逐渐加快 ,三条命令同时执行的时间也远小于分别执行的时间相加。于是在命令执行的基础上加上文本的输出,发现文本写入用时最多。

 

再经过两次测试发现程序有后台存储功能,记录了运行的信息,第二次运行时读取了运行过的结果,所以时间加快了很多。

 

4.总结

(1)代码合并阶段:以前并没有将两个人的代码和在一起,这次发现函数命名没有一致,需要修改,其实应该先确定函数命名再开始编码。

(2)体会和感想:高级功能没有实现,在时间上还是仓促了。这次合作没有很好的计划,浪费了很多时间,这次的经验使得下次有了更多的准备。

转载于:https://www.cnblogs.com/K-wang/p/9827533.html

本帖最后由 591691826 于 2013-4-10 13:32 编辑 0.我只说些常用的以及目前用的到的 1.下载附件。解压后拷到c:windows\system32里面。 2.打开运行(快捷键windows键+R)输入cmd 回车。 3.输入adb devices 可以获取当前连接的设备。 4.输入adb shell 回车 接着输入su。这时候$变成#。说明你已经取得权限了,可以进行各项调试命令了。 5.如果要从电脑上传送文件到手机的话,使用adb push命令。格式:adb push 本地路径 手机路径 ;举例:把c盘根目录下的456.txt传送到system。则:adb push c:\456.txt /system/ 传送文件到system文件夹的话。需要先挂载system分区。再改读写权限。 如下:mount -o rw,remount -t yaffs2 /dev/block/mtdblock1 /system回车 (这是挂载分区) chmod 777 /system回车 (修改权限为可读) 这两步做完后退出shell指令端(exit回车 exit回车)就可以push文件到system里面去了。 如果push文件到sdcard卡的话。一般来说直接push就行。如果出现premission denied 的话,需要修改sdcard权限为可读写。即chmod 777 sdcard。 6。adb pull 是从手机传送文件到电脑上。格式: adb pull 手机路径 电脑路径 。会push的话pull很简单。大同小异嘛。 7.关于这个地方的权限,具体说下: 在Unix和Linux的各种操作系统下,每个文件(文件夹也被看作是文件)都按读、写、运行设定权限。例如我用ls -l命令列文件表时,得到如下输出: -rw-r--r-- 1 bu users 2254 2006-05-20 13:47 tt.htm 从第二个字符起rw-是说用户bu有读、写权,没有运行权,接着的r--表示用户组users只有读权限,没有运行权,最后的r--指其他人(others)只有读权限,没有写权和运行权。这是系统默认设置,我可以改写tt.htm,同组的人和其他人只有权读,没人有权运行,因为只是一个html文件,不必运行。这在Novell的directory services之前很先进。 读、写、运行三项权限可以用数字表示,就是r=4,w=2,x=1。所以,rw-r--r--用数字表示成644。 反过来说777就是rwxrwxrwx,意思是该登录用户(可以用命令id查看)、他所在的组和其他人都有最高权限。 再多说一句。我用chmod o-r tt.htm命令改权限,o-r是others的权限中减掉读。结果是 -rw-r----- 1 bu users 2254 2006-05-20 13:47 tt.htm 如果用命令chmod 777 tt.htm,结果是 -rwxrwxrwx 1 bu users 2254 2006-05-20 13:47 tt.htm 任何人都有读、写、运行三项权限。8。以后比如替换系统文件神马的不能开机。可以通过救援模式下adb命令替换系统文件并该权限即可。 .想写的就是这么多了。仅把我的心得告诉大家。内容编辑可能有些混乱。不好意思。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值