PAGE 2
摘 要
本课题的主要任务是开发一款代码行数统计器,专门用于统计C语言或C++语言程序代码文件。该统计器的主要功能是统计代码文件的文件行数、有效代码行数、注释行数、空白行数,以及计算代码的注释率。和那些只能统计单个文件的统计器不同,这款统计器能够接受文件夹路径,批量统计整个文件夹的所有文件,包括子文件夹中的有效文件。这样可以大大的提高统计效率,节约用户的时间,使编程人员能集中更多精力编写程序。该统计器在测试时统计了大量的文件,基本上没有错误,精度相当高,用户可安全使用。本课题所用的编译环境是C-free 5,最终结果exe可执行文件。
目 录
TOC \o "1-3" \h \z \u 第1章 绪论 1
第2章 需求分析 2
2.1可行性分析 2
2.2整体功能 2
第3章 关键技术 3
3.1文件操作 3
3.1.1文件的打开与读取 3
3.1.2遍历文件夹 3
3.2变量处理 4
3.3错误识别与防范 4
3.3.1内存错误 4
3.3.2用户输入有误 4
第4章 概要设计 5
4.1.1路径判断 5
4.1.2遍历文件 6
4.1.3字符判断 7
4.1.4信息统计输出 8
第5章 详细设计 10
5.1文件类型判断 10
5.2遍历文件夹 10
5.3文件字符的判断和变量处理 11
5.3.1定义变量 11
5.3.2注释标记 12
5.3.3Space和tab 12
5.3.4转义字符 12
5.3.5其他字符 13
第6章 设计结果和使用说明 14
6.1程序运行界面 14
6.2使用说明 15
第7章 总结 16
致谢 18
参考文献 19
附录A 20
PAGE 22
绪论
随着计算机技术的发展与普及,越来越多的人开始学习编程技术。而C语言是在国内外广泛使用的一种计算机语言,它凭借自己功能丰富、使用灵活、可移植性强等优点,不仅为计算机专业工作者所使用,还博得了广大计算机应用人员以及计算机爱好者的青睐。但在项目开发的时候,项目负责人经常需要审查代码、统计各种相关信息(如:代码总行数、注释行数、注释率等),其中项目的源代码行数和注释率是非常重要的项目健康度指标,一般来说,比较理想的注释率在20%~30%,这样的代码比较容易维护。
因此,为了减少编程人员的工作量,提高工作效率,就需要设计一种专门的软件来替代项目开发人员统计代码行数以及注释行数等相关信息。
这款C语言代码统计器能够接收用户输入的文件夹路径,批量统计整个文件夹的所有文件,更大程度地提高了项目开发人员的工作效率。
需求分析
可行性分析
前面已经说过,现在使用计算机编程的人已经越来越多了,其中使用C语言或C++语言编程的更是占了很大的比列。由于C语言的编写工程很大,但有时却需要统计一些其中的有关信息。如果用人工统计的话,既浪费时间,也浪费编程人员的精力,降低工作效率。所以现在对一些辅助型的软件需求量特别大。面对这样的现状,这款C&C++代码统计器应运而生。它能够弥补人力的不足,大大地提高了人们的工作效率,使程序员能集中精力编写更多有用的程序。
另一方面,这个代码统计器占用空间很小,电脑的要求很低并且很便携,更能使大多数人接受,而且使用简单,更便于推广。
总体来说,这款代码统计器满足了当前大多数编程人员的部分需求,并且凭借着它独自的特点使大多数人能够接受。
整体功能
这款C&C++代码统计器是用纯C编写的控制台程序,它既能单独地够统计单个文件,还能批量统计整个文件夹中所有文件,这也是前面说的提高效率的关键地方。主要统计的项目有:文件总数、代码总行数、有效代码总行数、注释行数、空白行数以及注释率等,由此看出,该统计器不仅可以用在它的本职工作(统计代码行数),还能用来统计一个文件夹中的所有文件个数。除了以上功能,该统计器还有以下优点:操作简单,用户既可以手动输入所需统计的文件或文件夹路径,也可以直接将文件或文件夹拖入特定区域进行统计,方便快捷。
由于该代码统计器是在DOS下运行的控制台程序,所以运行速度比Windows程序要快很多,这也弥补了它在界面上的劣势。
关键技术
文件操作
前面已经说到,文件操作很重要,特别是文件夹的遍历问题。
文件的打开与读取
在C标准库函数中,头文件下包含了各种输入输出函数,其中就包括了实现文件操作的一系列函数:
FILE *fopen(char *filename, char *mode) :以指定的方式打开一个文件。在该代码统计器的程序中,是以只读(r