E027

orsci中统计C++源代码行数。(1)构造一个文本文件,如A.txt,该文本文件内容是所有源代码文件的文件名列表。(2)将该文本文件A.txt输入到下面程序;(3)下面程序根据A.txt读取出所有源代码文件名,然后自动统计各个源码文件的行数、次数、注释行数等信息。至少能知道写了多少有效行数的源代码。例如orsci中部分核心模块的C++源代码行数(有效行数,不包括空白行、注释行)已经超过25万行。这里不包括dm、nlp、sms等其它模块的源代码行数。

 

#include "stdafx.h"

#include "orsciJWVCL.h"
#include "orsciVM.h"
using namespace orsci;
using namespace orsci::vmt;


int main()
{
cout << " orsci:C++源码行数统计 --- http://www.orsci.cn" << endl;
cout << endl;
string mSrcFileName; //列表文件名!
cout << "请输入一个存储源码文件列表的文本文件名:" << endl;
while (mSrcFileName == "") getline(cin, mSrcFileName);

cout << "开始统计...Hint..统计结果文件增加后缀.orsci_sourecetotal.txt..." << endl;
string mDesFileName = mSrcFileName + ".orsci_sourecetotal.txt";
if (jw::FileExist(mDesFileName))
{
cout << "目标文件存在:" << mDesFileName << endl;
cout << "是否覆盖(输入1或Y--覆盖;其它字母--退出执行!!):";
char x;
cin >> x;
if ((x != '1') && (x != 'Y') && (x != 'y')) return 0;
}
_orsci::TotalSourceCodeFileList(mSrcFileName, mDesFileName);
cout << "...OK!" << endl;
cout << "请查看目标文件:" << mDesFileName << endl;

cout << endl;
cout << "press any key to stop..." << endl;
char pp;
cin >> pp;


return 0;
}

输出

(一)运行过程

(1)首先利用其它工具,例如orsci附带的文件列表生成工具,构造一个存储所有源码文件名列表的文本文件,例如a.txt;

(2)运行该软件,根据提示,输入a.txt;

(3)该软件会自动在a.txt增加后缀形成结果文件,察看该文件,建议使用Excel文件打开,便于统计分析,例如累计代码行数、累计代码有效行数、注释行数、总词数、单字母词数等。

 

(二)说明:

(1)C++源代码行数统计,能让自己和他人初步了解代码工程量。

(2)源代码统计程序,集成在orsci中。

(6)orsci包支持向量和矩阵计算,可下载配套软件orsci应用。

书籍 姜维. 《数据分析与数据挖掘》、《数据分析与数据挖掘实践》
软件 orsci开发包(C++语言、Delphi语言和C语言)。