• 第三次作业


    一.github地址

    我的github:https://github.com/leerijin

    二.同伴地址

    三.结对过程

    四.psp表格

    PSP2.1

    Personal Software Process Stages

    预估耗时(分钟)

    实际耗时(分钟)

    Planning

    计划

     25

     20

    · Estimate

    · 估计这个任务需要多少时间

     25

     20

    Development

    开发

     1340

     1290

    · Analysis

    · 需求分析 (包括学习新技术)

     60

     80

    · Design Spec

    · 生成设计文档

     20

     20

    · Design Review

    · 设计复审 (和同事审核设计文档)

     20

     25

    · Coding Standard

    · 代码规范 (为目前的开发制定合适的规范)

     30

     25

    · Design

    · 具体设计

     60

     70

    · Coding

    · 具体编码

    1000

     900

    · Code Review

    · 代码复审

     30

     20

    · Test

    · 测试(自我测试,修改代码,提交修改)

     120

     150

    Reporting

    报告

     60

     85

    · Test Report

    · 测试报告

     30

     40

    · Size Measurement

    · 计算工作量

     10

     15

    · Postmortem & Process Improvement Plan

    · 事后总结, 并提出过程改进计划

     20

     30

    合计

     1425

     1395

    五.解题思路

    这是一个从文件中读取内容并判断的代码,在主函数中实现文件的读取和输出,然后用一个字符串接收了文件内容,将这个字符串传给判断字符数的函数,直接统计字符串长度,第二个函数就接收字符串后将单词存进了新定义的字符串,再将新的字符串传给第三个函数统计词频。

    六.设计实现过程

    七.代码规范

    1、函数名使用相应的英文单词或中文缩写

     2、代码较复杂的地方添加注释

    3、功能尽量在其他函数中实现

     4、大括号的上半部分和下半部分对齐,代码格式清晰
                 与结对伙伴各自完成分工的代码后,我们互相看了对方所负责的代码部分,并将它们结合到一起。在结合的过程中发现双方的代码有连接不上或者是重复的地方,就此做了一些改正
    八.性能分析

    九。单元测试

    十.代码说明

    统计单词个数

    public static int GetWnum(string str,ref string word)
            {
                int k = 0;
                string temp1 = "";
                for (int i = 0; i < str.Length; i++)
                {
                    if (char.IsLetter(str[i]) || char.IsDigit(str[i])) //判断是不是数字或者字母
                    {
                        temp1 += str[i];
                    }
                    else
                    {
                        temp1 += " ";
                    }
                }
    
                string[] arr = temp1.Trim().Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); //去除字符数组中所有空格
                string arr1 = string.Join(" ", arr);
                string[] temp2 = arr1.Split(' ');
                int j = 0, flag = 1;
                for (int i = 0; i < temp2.Length; i++)
                {
                    if (temp2[i].Length < 4)
                    {
                        continue;
                    }
                    else
                    {
                        for (j = 0; j < 4; j++) //判断前四个是否为字母
                        {
                            flag = 1;
                            if (char.IsDigit(temp2[i][j]))
                            {
                                flag = 0;
                            }
    
                        }
    
                        if (flag == 1)
                        {
                            k++;
                            word += temp2[i] + " ";
                        }
                    }
                }
    
                return k;
            }

    //统计词频

    public static string GetStr(string str1)
            {
                if (str1=="")
                {
                    return "";
                }
                int j = 0;
                str1 = str1.Trim();
                string[] str = str1.Split(' ');
                List<System.String> strList=new List<System.String>(str);
                strList.Sort();
                str = strList.ToArray();      //将LIST转换成string[]
                var temp1 = str.GroupBy(i => i).ToList();
                string temp = "";
                foreach (var i in temp1)
                {
                    string wordi = i.Key;
                    int timei = i.Count();
                    temp += wordi + ":" + timei + "\r\n";
                    j++;
                    if (j == 10)
                    {
                        break;
                    }
                }
                return temp.ToLower();
            }

    十一.运行结果

    十二.心得

    拿到题目看到基础功能觉得还行,能写出来,后来做到第二步,开始封装就发现问题很多,不知道怎么封装,函数该怎么改,哪些函数应该封装,翻阅了一些同学和一些大佬级人物的博客后,有了一点点头绪,后来发现由于我下载vs时,下载可能出错,类库有问题,有些引用不能被引用,但重新下载vs已经来不及了,所以部分函数没有被封装起来。之后在新增功能处卡顿了很久,没看懂例子,不太清楚该怎么实现这个功能,想了很久,最后想错了,又浪费了大量时间。没办法,只好用了一种很笨的办法写,后面还是有部分功能没有实现。1+1是大于2的,因为一个人还是有很多地方想不到。

  • 相关阅读:
    【转】利用MVC模式开发Java应用程序[组图]
    [转]JAVA三大框架SSH和MVC
    二进制转十进制
    MPlayerX For Mac白屏问题
    输入法切换设置
    【学习笔记】【C语言】选择结构-switch
    【学习笔记】【C语言】选择结构-if
    【学习笔记】【C语言】流程控制
    Mac OS X中开启或关闭显示隐藏文件
    Xcode6 模拟器不显示键盘
  • 原文地址:https://www.cnblogs.com/riverspring/p/10660353.html
Copyright © 2020-2023  润新知