wc代码计数器的实现

github项目传送门:https://gitee.com/mouse123/myproject_wc

 

前言:很早之前,我曾经在cdsn上写过一篇关于这个wc个人项目的一些介绍,现在为了适应一些需求,在原有的基础上进行了一些添加,各位有兴趣的同学也可以拜读一下我写的文章。csdn地址:https://blog.csdn.net/dsfdasfka/article/details/82559024      各位感兴趣的朋友亦可以关注一下我,我是爱逛街的老鼠,我为自己而代言。

新版的wc计数器增加了处理多个文件,处理目录功能,主要的逻辑思路是通过一个文件选择器去实现,具体介绍请看下文

 

一、项目相关需求

 

wc.exe 是一个常见的工具,它能统计文本文件的字符数、单词数和行数。这个项目要求写一个命令行程序,模仿已有wc.exe 的功能,并加以扩充,给出某程序设计语言源文件的字符数、单词数和行数。实现一个统计程序,它能正确统计程序文件中的字符数、单词数、行数,以及还具备其他扩展功能,并能够快速地处理多个文件。并实现项目可视化,方便用户操作。功能要求如下:(仅针对c程序文件)

  • 返回单个源程序文件/多个源程序文件/文件夹中所有的源程序文件的字符数
  • 返回单个源程序文件/多个源程序文件/文件夹中所有的源程序文件的词数
  • 返回单个源程序文件/多个源程序文件/文件夹中所有的源程序文件的行数
  • 返回单个源程序文件/多个源程序文件/文件夹中所有的源程序文件的有效代码行的数目
  • 返回单个源程序文件/多个源程序文件/文件夹中所有的源程序文件的空行的数目
  • 返回单个源程序文件/多个源程序文件/文件夹中所有的源程序文件的注释行的数目

 

工具使用:ecplise+windowbuilder+jdk8

 

二、解题思路

对于javaGUI的变成,我们采取安装插件的形式,安装windowsbuilder这个插件,我们可以实现可视化拖动,只要在事后添加一些监听器等即可,可以说是非常方便。做过安卓开发的朋友们都知道,使用这种操作方式很直观。如果是使用myecplise那可以直接使用,不必额外安装。

对于目录的选择,多个文件的选择,由于我们只是统计c程序的文件,所以,要筛选出这些.c/.cpp结尾的文件,我们就选择使用一个文件选择器来实现。

至于实现功能的逻辑,观察一下c程序的结构,其实都不难处理。

 

三  psp开发耗时

 

PSP2.1

Personal Software Process Stages

预估耗时(分钟)

实际耗时(分钟)

Planning

计划

40 25

· Estimate

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

40  50

Development

开发

900 650

· Analysis

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

 150  120

· Design Spec

· 生成设计文档

 40  30

· Design Review

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

 30 40

· Coding Standard

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

 30  30

· Design

· 具体设计

 80 70

· Coding

· 具体编码

150 175

· Code Review

· 代码复审

 40  30

· Test

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

 60  40

Reporting

报告

 120  90

· Test Report

· 测试报告

 20  20

· Size Measurement

· 计算工作量

20  10

· Postmortem & Process Improvement Plan

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

 30  20

合计

  1750 1400

 

四 程序的结构

下面对这些类进行一些说明 
Annontation:对是否为注释行进行判断等逻辑 
FileUtil:文件操作的工具类 
Line\Word:行数,字符的实体类 
Main:程序的主界面,GUI 
WordNumber/LineNumber:具体统计类

 

 五 、程序功能展示:

界面:

 

选择单个文件:

 

 

选择多个文件:按钮为选择目录的按钮

 

 

选择目录:

 

 选择器代码:

使用了一个内部类的形式。使用内部类,方便简洁的实现文件的过滤.。

 

六、总结

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

 

posted @ 2018-09-14 18:03  爱逛街的老鼠  阅读(205)  评论(0编辑  收藏  举报