第一周作业

这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/computer-science-class4-2018/
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/computer-science-class4-2018/homework/11880
这个作业的目标 <完成编程作业>
作业正文 https://www.cnblogs.com/LfanWyuXooo/p/14612283.html
其他参考文献 《构建之法》,《软件工程》

1.Github项目地址

项目链接

2.PSP表格

PSP2.1 Personal Software Process Stages 预估耗时(分钟)
Planning 计划 120
Estimate 估计这个任务需要多少时间 150
Development 开发 200
Analysis 需求分析 (包括学习新技术) 30
Design Spec 生成设计文档 40
Design Review 设计复审 30
Coding Standard 代码规范 (为目前的开发制定合适的规范) 20
Design 具体设计 300
Coding 具体编码 600
Code Review 代码复审 80
Test 测试(自我测试,修改代码,提交修改) 30
Reporting 报告 40
Test Repor 测试报告 20
Size Measurement 计算工作量 15
Postmortem & Process Improvement Plan 事后总结, 并提出过程改进计划 40
合计 1750

3.解题思路描述

3.1题目要求

  1. 统计文件的字符数(对应输出第一行)
  2. 统计文件的单词总数(对应输出第二行)
  3. 统计文件的有效行数(对应输出第三行)
  4. 统计文件中各单词的出现次数(对应输出接下来10行)
  5. 输出结果

3.2解题思路

1.文件的读取以及字符数的计算:先便利所有字符,然后存入缓冲流,在统计字符数;

2.单词数的计算:读取文件内容,遇到空格,当读取再次遇到空格,单词数加1;

3有效行数的计算:每一行不为空则加一;

4.高频词汇排序比较难,还没什么头绪。

4.代码规范制定链接

codestyle

5.设计与实现过程

判断文件是否存在,然后就读取文件,创建缓冲流引入对象,以便后续使用。

		        if(file.isFile() && file.exists()){ //判断文件是否存在
		        	InputStreamReader read = new InputStreamReader(
					new FileInputStream(file),encoding);//考虑到编码格式
		        	ArrayList<String>list = new ArrayList<>();
		    		//创建高效字符缓冲输入流对象,并和data.txt文件关联
		    		BufferedReader br = new BufferedReader(new FileReader(file));

有效行数的计算

		    		//循环读取每一行
		    		while(null!=(line = br.readLine())) {
		    			//将读到的每一行信息存入到list集合中
		    			list.add(line);
		    			if(!line.equals("") )
		                {
		                    linenum++;
		                }
		    		}

字符总个数的计算
···
int charnum=0;
char[] ch = list.toString().toCharArray();
for(int i = 0; i < ch.length; i++) {
if(ch[i] >= 0 && ch[i] <= 127) {
charnum++;
}
}
···

6.性能改进

本次作业对我来说有些难,我有很多可以改进的时候,最后两个题目要求没有做好,统计单词个数喝高频词汇做的不好。以后也会花时间好好看看这个题目的。看了别人的资料,正则表达式喝map的引用应该会起到不错的效果,我还是积累的太少了,没搞懂这两个东西。有时间去学习一下。

7.单元测试

8.异常处理说明

运行的时候,由于路劲问题,老师会出现文件找不到报错的问题。

9.实际的PSP表格

PSP2.1 Personal Software Process Stages 实际耗时(分钟)
Planning 计划 200
Estimate 估计这个任务需要多少时间 150
Development 开发 200
Analysis 需求分析 (包括学习新技术) 30
Design Spec 生成设计文档 40
Design Review 设计复审 30
Coding Standard 代码规范 (为目前的开发制定合适的规范) 20
Design 具体设计 400
Coding 具体编码 700
Code Review 代码复审 80
Test 测试(自我测试,修改代码,提交修改) 30
Reporting 报告 40
Test Repor 测试报告 20
Size Measurement 计算工作量 15
Postmortem & Process Improvement Plan 事后总结, 并提出过程改进计划 40
合计 2130

10..心路历程与收获

本次作业对我来说难度很大,让我意识到了,我的代码知识积累喝运用有多么的匮乏。作业也没有完成的很好。由此想到后面的小组任务,不免有些紧张和不自信。每次放假之后落下的记忆喝只是,接下来要去好好回顾一下以前学习的。

posted @ 2021-04-02 19:52  反语ooo  阅读(39)  评论(0编辑  收藏  举报