第三次作业

Github项目地址:https://github.com/cool-girltoday/WordCount.git

   伙伴地址:https://www.cnblogs.com/hxh022/p/10658968.html
 
 

PSP2.1

Personal Software Process Stages

预估耗时(分钟)

实际耗时(分钟)

Planning

计划

 15

 10

· Estimate

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

 1400

 1200

Development

开发

 720

 600

· Analysis

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

 240

 200

 

 

 

 

· Design Review

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

 40

 60

· Coding Standard

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

 20

 10

· Design

· 具体设计

90

 60

· Coding

· 具体编码

 480

 500

· Code Review

· 代码复审

 240

 60

· Test

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

 180

 120

Reporting

报告

 40

 10

· Test Report

· 测试报告

 30

10

· Size Measurement

· 计算工作量

 

 

· Postmortem & Process Improvement Plan

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

 30

 10

 

合计

1400 

 1000

 

照片:

 

思路:

 拿到这个项目,大致的思路就是,把文件中的字符都读到一个String字符串中,再对字符串进行操作
1、统计Ascii码:计算string的字符串的长度
2、统计行数:对文件每行每行的读取,有读取出数据则 行数line++ ,最后返回line
3、统计单词数:把String函数用split函数对字符串进行划分,存入到一个String数组中,再计算数组的长度
4、统计单词频度:用键值对(key-value)映射,单词作为key,单词数量作为value。

预想的方案(简化版)

 

 

 

代码规范:

 

1、 类型(类、结构、委托、接口)、字段、属性、方法、事件的命名
  我们都尽量使用英文,如果实在有的地方不能我们就用中文替代,并做了注解
2、不使用缩写
  所有类型、字段、属性、方法、事件尽量不使用缩写。
3、不使用单个字母的变量
  不使用单个字母的变量, 像 i、m、n,使用index等来替换,用于循环迭代的变量除外。
4、缩进字符约定为4

5、 注释

类型、属性、事件、方法、方法参数,根据需要添加注释。

如果类型、属性、事件、方法、方法参数的名称已经是自解释了,不需要加注释;
否则需要添加注释。

6、类型名称和源文件名称一致

 

设计实现过程

项目类的设计

  • WordDeal类,用来统计相关信息的方法。
  • ReadFile :用来读取文件中的数据并存到String数组中。
  • Main类,调用上面两个类的方法,实现具体功能。

 

代码分析:

1、

读取文件数据函数

 

2、文件字符数函数

3、行数计算

4、统计单词字数

 

5、统计频数

 单元测试:

复审发现的问题

起初将问题想得太简单,结果做完初步的基本功能后,要实现之后的功能变得困难,只好重新做。

程序中消耗最大的函数

统计单词频数的函数,用了过多的循环导致效率低下。

 

感受:这次结对编程所完成的任务效率远大于一个人完成任务的效率,可以看出与同伴之间的差距,学习到更多,来提升自己。这次的作业又对c#更进一步了解,学习到了正则表达式如何使用。是很棒的学习旅程!

 

 

posted @ 2019-04-05 22:45  Tancy20  阅读(201)  评论(1编辑  收藏  举报