java源程序文件_利用Java实现一个源程序文件的代码统计工具

WC个人项目

一、项目相关要求

wc.exe 是一个常见的工具,它能统计文本文件的字符数、单词数和行数。这个项目要求写一个命令行程序,模仿已有wc.exe 的功能,并加以扩充,给出某程序设计语言源文件的字符数、单词数和行数。

现在需要实现一个源程序文件的代码统计程序,它能正确统计源程序文件中的字符数、单词数、行数,以及还具备其他扩展功能,并能够快速地处理多个文件。

具体功能要求:

1、程序处理用户需求的模式为:

直接通过用户在图形界面上的相关操作来读取用户的需求。

2、基本功能列表:

返回单个源程序文件/多个源程序文件/文件夹中所有的源程序文件的字符数

返回单个源程序文件/多个源程序文件/文件夹中所有的源程序文件的词数

返回单个源程序文件/多个源程序文件/文件夹中所有的源程序文件的行数

3、扩展功能:

返回单个源程序文件/多个源程序文件/文件夹中所有的源程序文件的有效代码行的数目

返回单个源程序文件/多个源程序文件/文件夹中所有的源程序文件的空行的数目

返回单个源程序文件/多个源程序文件/文件夹中所有的源程序文件的注释行的数目

二、项目开发过程中遇到的困难及解决方法

# 实现图形界面的困难:

由于并没有很经常接触到Java的GUI编程,所以不太熟悉相关的控件编写以及窗口布局。

# 做过的尝试:

借助MyEclipse编译器中的WindowBuilder Editor插件完成了该程序的图形界面。

# 解决:

最后,实现了基础功能以及拓展功能。

# 有所收获:

冰冻三尺,非一日之寒,路漫漫其修远兮,吾将上下而求索。

三、PSP开发耗时

PSP2.1

PSP2.1

Personal Software Process Stages

预估耗时(分钟)

实际耗时(分钟)

Planning

计划

30

40

· Estimate

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

50

60

Development

开发

800

600

· Analysis

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

100

120

· Design Spec

· 生成设计文档

40

30

· Design Review

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

30

30

· Coding Standard

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

30

30

· Design

· 具体设计

80

60

· Coding

· 具体编码

200

180

· Code Review

· 代码复审

40

30

· Test

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

60

40

Reporting

报告

120

80

· Test Report

· 测试报告

20

20

· Size Measurement

· 计算工作量

10

10

· Postmortem & Process Improvement Plan

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

30

20

合计

1640

1350

四、程序代码结构

34bf8c672c99fd2668e86958edba18f0.png

1、entity包中的CodeFileInfo类是源程序文件的实体类。

2、filter包中的SourceFilenameFilter过滤器类的作用是筛选出文件夹内的源程序文件(目前实现了筛选以.c以及.java为后缀的源程序文件)。

3、function包中的Function接口是基本功能及拓展功能的抽象接口,BaseFunction类和ExtendFunction类是具体的实现类,是功能实现的关键类。

4、handle包中的CalculateHandler类是一个控制类,主要是根据用户的需求(计算单个源程序文件/多个源程序文件/文件夹中的所有源程序文件)去调用对应的计算逻辑进行计算。

5、WcMain类是程序功能的主入口(图形界面)。

五、程序功能截图

1、程序图形界面

c3926564d2bde8ceb5ffa763f8cf15ae.png

2、基本功能及拓展功能

计算单个源程序文件

203a9c3ea303796c713022a85934efe4.png

dd61d949c1d14133c80098cb798d6541.png

计算多个源程序文件

ef234a77d573cac8534c6ce6a9185197.png

e5de2637c59b90cb9b30267adc4a3894.png

计算文件夹中的所有源程序文件

d1d1d16812a8d030849f5c0b3ceb7d0b.png

200d2e09ec4da792c4a5f3dbd9877af1.png

六、项目总结

通过本项目的实践,熟悉了开发软件的相关工作流程(分析项目需求、设计项目流程、实现项目功能、进行单元测试、程序功能运行测试、项目总结)。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值