代码改变世界

软件工程编程作业

2021-04-02 19:36  借过  阅读(63)  评论(0编辑  收藏  举报

|这个作业属于哪个课程 |https://edu.cnblogs.com/campus/zswxy/computer-science-class2-2018 |
|这个作业的要求是什么|https://edu.cnblogs.com/campus/zswxy/computer-science-class2-2018/homework/11878|
|这个作业的目标|学习程序开发及码云的使用|
|学号|20188428|

目录
Github项目地址
PSP表格
解题思路描述
代码规范制定链接
设计与实现过程
单元测试
异常处理说明
心路历程与收获

1.gitee项目地址

2.PSP表格

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

3.解题思路
根据项目的需求可以概括为:对程序设计语言源文件统计字符数、单词数、行数,统计结果以指定格式输出到默认文件中,以及其他扩展功能,并能够快速地处理多个文件。
定义输入输出文件并实例化

String  name = file.getName();
			System.out.println("File:"+name);
			FileReader fr = new FileReader(file);
			BufferedReader bufr = new BufferedReader(fr);

文档的路径导入

File file = new File("D:\\work.txt");

if语句来完成所需的功能需求对输入文件进行判断,若没有便会显示错误,若有输入文件,便会进行输出其单词数,行数和其字符数

while((ch = (char) bfr.read()) != (char)-1)//按字符读取文本内容
			{
				if(ch != '\n' && ch != '\r')  //统计文本中字符数
					countc++;//累计字符数
				if(!(ch>='a'&&ch<='z')&&!(ch>='A'&&ch<='Z')&&((fch>='a'&&fch<='z')||(fch>='A'&&fch<='Z')))
				{
					countw++;//累计单词数
				}
				fch=ch;
			}

4.代码规范

5运行效果截图.

6.异常处理

程序未能识别到文件所在位置,需检查文件路径重试

7.总结与收获
总的说来,这次项目确实让我收获了不少东西,一开始因为要求的细节过于繁琐而且时常所以有些情绪化,随着提交时间的逼近才逐渐硬着头皮开始认真去搞这个作业,从最终的结果来看,确实学到了很多有用的东西,关于注释行、代码行与空行的正则表达式匹配判定法以及如何从提高一个程序的条件覆盖率,这些都是以后走向工作中很宝贵、很重要的东西。不过由于时间的仓促,我编写的程序仍存在着很多不尽如人意的地方,功能还不够完善,这些都是我在今后学习中要去学习改进的地方。