1.地址
GIT地址 | https://github.com/qq319064057/WordCount |
GIT用户名 | qq319064057 |
结对伙伴地址 | https://www.cnblogs.com/tyx666/ |
博客地址 | https://www.cnblogs.com/319064057-lx/ |
作业链接 | https://www.cnblogs.com/319064057-lx/p/10660199.html |
2.PSP表
PSP | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
Planning | 计划 | 20 | 20 |
Estimate |
估计这个任务需要多少时间 |
20 | 20 |
Development | 开发 | 600 | 710 |
Analysis | 需求分析 (包括学习新技术) | 50 | 40 |
Design Spec | 生成设计文档 | 30 | 20 |
Design Review | 设计复审 (和同事审核设计文档) | 20 | 30 |
Coding Standard | 代码规范 (为目前的开发制定合适的规范) | 20 | 15 |
Design | 具体设计 | 30 | 45 |
Coding | 具体编码 | 360 | 300 |
Code Review | 代码复审 | 60 | 50 |
Test | 测试(自我测试,修改代码,提交修改) | 30 | 30 |
Reporting | 报告 | 90 | 70 |
Test Report | 测试报告 | 40 | 30 |
Size Measurement | 计算工作量 | 30 | 30 |
Postmortem & Process Improvement Plan | 事后总结, 并提出过程改进计划 | 20 | 10 |
合计 | 710 | 800 |
3.需求分析
1)输入文件名以命令行参数传入。例如在命令行窗口(cmd)中输入
2)统计输入文件中的以下几个指标
统计文件的字符数:
-
-
只需要统计Ascii码,汉字不需考虑
-
-
-
空格,水平制表符,换行符,均算字符
-
统计文件的单词总数,单词:至少以4个英文字母开头,跟上字母数字符号,单词以分隔符分割,不区分大小写。
-
英文字母:A-Z,a-z
-
字母数字符号:A-Z,a-z,0-9
-
分割符:空格,非字母数字符号
-
-
-
统计文件的有效行数:任何包含非空白字符的行,都需要统计。
-
统计文件中各单词的出现次数,最终只输出频率最高的10个。频率相同的单词,优先输出字典序靠前的单词。
-
按照字典序输出到文件txt:例如,windows95,windows98和windows2000同时出现时,则先输出windows2000。
-
输出的单词统一为小写格式
4.代码规范
Camel(驼峰式): 大小写形式-除了第一个单词,所有单词第一个字母大写,其他字母小写。
Pascal(帕斯卡): 大小写形式-所有单词第一个字母大写,其他字母小写。
1、 类型(类、结构、委托、接口)、字段、属性、方法、事件的命名
优先考虑使用英文(尽量使用英文),如果实在没有合适的英文进行描述,可以使用拼音,使用中文是不符合要求的。
2、不使用缩写
所有类型、字段、属性、方法、事件尽量不使用缩写,包括大家熟知的缩写,例如msg。
3、不使用单个字母的变量
不使用单个字母的变量, 像 i、m、n,使用index等来替换,用于循环迭代的变量除外。
4、用Tab作为缩进,并设置缩进大小为4
5、 注释
类型、属性、事件、方法、方法参数,根据需要添加注释。
6、类型名称和源文件名称一致
当类型命名为Product时,其源文件命名只能是Product.cs。
7、所有命名空间、类型名称使用Pascal风格
8、本地变量、方法参数名使用Camel风格(不使用下划线)
5.设计思路
-
设计一个处理输入类,一个算法类
-
处理输入类用来处理在命令行中的输入
-
算法类包含多个方法用来实现统计
运行速度在情理之中
7.照片
8.总结