wordcount

Posted 2745a88

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了wordcount相关的知识,希望对你有一定的参考价值。

项目地址

Github地址:https://github.com/274588(上传出现了一些问题,解决后补上)

一、项目描述

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

实现一个统计程序,它能正确统计程序文件中的字符数、单词数、行数,以及还具备其他扩展功能,并能够快速地处理多个文件。
具体功能要求:
程序处理用户需求的模式为:

wc.exe [parameter] [file_name]

  • 基本功能列表:

wc.exe -c file.c //返回文件 file.c 的字符数

wc.exe -w file.c //返回文件 file.c 的词的数目

wc.exe -l file.c //返回文件 file.c 的行数

  • 扩展功能:
    -s 递归处理目录下符合条件的文件。
    -a 返回更复杂的数据(代码行 / 空行 / 注释行)。

    • 空行:本行全部是空格或格式控制字符,如果包括代码,则只有不超过一个可显示的字符,例如“{”。

    • 代码行:本行包括多于一个字符的代码。

    • 注释行:本行不是代码行,并且本行包括注释。一个有趣的例子是有些程序员会在单字符后面加注释:

} //注释

在这种情况下,这一行属于注释行。

  • 高级功能:

    • -x 参数。这个参数单独使用。如果命令行有这个参数,则程序会显示图形界面,用户可以通过界面选取单个文件,程序就会显示文件的字符数、行数等全部统计信息。

    • 需求举例: wc.exe -s -a *.c

返回当前目录及子目录中所有*.c 文件的代码行数、空行数、注释行数。

二、关键代码

技术图片

 

 技术图片

 

 技术图片

 

 技术图片

三、测试运行

技术图片

 

 

四、PSP

 

PSP2.1

Personal Software Process Stages

预估耗时(分钟)

实际耗时(分钟)

Planning

计划

 30

 40

· Estimate

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

 

 

Development

开发

200

250

· Analysis

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

60

 30

· Design Spec

· 生成设计文档

 10

 20

· Design Review

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

 0

 20

· Coding Standard

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

 10

 10

· Design

· 具体设计

50

 40

· Coding

· 具体编码

 80

 120

· Code Review

· 代码复审

 30

 20

· Test

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

 60

 80

Reporting

报告

60

 30

· Test Report

· 测试报告

 30

 10

· Size Measurement

· 计算工作量

 20

 20

· Postmortem & Process Improvement Plan

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

 10

 10

合计

 

 660

 700

 

五、项目小结

   这次作业中遇到了许多的问题,关于file参数和命令行相关知识基本没有了解,在没有较好资源情况下,查找了许多资料,浪费了许多时间。而在写代码和编译过程中也不是很顺利,在最初就预估错了时间,匆忙完成任务,还有许多要改进的地方,我还需要多多练习。

以上是关于wordcount的主要内容,如果未能解决你的问题,请参考以下文章

hadoop之WordCount源代码分析

Hadoop中WordCount代码-直接加载hadoop的配置文件

WordCount代码实现及测试

Hadoop- Wordcount程序原理及代码实现

wordcount代码实现详解

如何运行自带wordcount-Hadoop2