代码统计工具V1.0.0(支持各种文件类型)

点击下载《代码统计工具(支持各种文件类型)》

1. 前言

本文介绍了一款使用C#开发的代码行数统计软件。该软件允许用户通过选择文件目录和设置统计项目类型,来统计指定目录下的代码行数。软件提供了三种统计方式:按文件名统计、按文件类型统计、按文件目录统计,并能计算出包括总行数、注释行数、空行数等在内的详细数据结果。此外,软件还提供了扩展功能,允许有一定编程能力的用户自定义支持的项目类型和扩展文件名,以满足特定需求。
在这里插入图片描述

2. 功能介绍及使用

以下为软件主界面。
在这里插入图片描述

2.1 按文件统计

1、点击浏览选择需要进行统计的文件目录。

2、选择文件目录对应的项目类型,选择完成后,将显示该项目类型将要统计的文件后缀名。

3、点击统计,统计完成后,将会显示统计数据在列表中,同时底部也将显示汇总结果。

4、可以看到按文件名统计结果,其他类型的统计结果也会同步生成。

在这里插入图片描述

2.2 按文件类型统计

1、点击浏览选择需要进行统计的文件目录。

2、选择文件目录对应的项目类型,选择完成后,将显示该项目类型将要统计的文件后缀名。

3、点击统计,统计完成后,将会显示统计数据在列表中,同时底部也将显示汇总结果。

4、可以看到按文件类型统计结果,其他类型的统计结果也会同步生成。

在这里插入图片描述

2.3 按文件目录统计

1、点击浏览选择需要进行统计的文件目录。

2、选择文件目录对应的项目类型,选择完成后,将显示该项目类型将要统计的文件后缀名。

3、点击统计,统计完成后,将会显示统计数据在列表中,同时底部也将显示汇总结果。

4、可以看到按文件目录统计结果,其他类型的统计结果也会同步生成。

在这里插入图片描述

2.4 导出Execl

待统计结果出来后可点击导出结果按钮将统计结果导出为execl文件,导出的文件中将包含按文件统计、按文件类型统计、按文件目录统计三个统计结果。

在这里插入图片描述

打开看下导出的execl文件内容如下:
在这里插入图片描述

2.5 添加自定义项目支持

有一定编程能力的小伙伴可以修改本程序支持的项目类型和统计时支持的文件扩展名类型,使用Navicat打开程序目录下的DataServer.db文件,可以看到程序当前已支持的项目类型和相应的文件类型,根据需要新增项目类型(project表)、新增支持的文件类型(file_config表)。

在这里插入图片描述

在这里插入图片描述

说明:

1、project_type:项目类型。

2、file_extension:该项目统计时需要统计的文件后缀名,多个之间以英文的逗号(,)分隔。

3、file_extension:支持的文件后缀名,多个之间以英文的逗号(,)分隔。

4、code_regex:用于正则匹配代码的正则表达式。

5、single_line_comment_regex:后缀名文件对应的单行代码注释正则表达式。

6、multiLine_comment_regex:后缀名文件对应的多行代码注释正则表达式。

正则表达式一旦配置错误,将会导致程序统计结果不正确并且有可能导致程序异常,需谨慎操作。

2.6 代码片段

以下为部分代码,仅供参考

private void InitializeSQLite()
{
    //获取基目录,它由程序集冲突解决程序用来探测程序集。
    string dbPath = AppDomain.CurrentDomain.BaseDirectory + "DataServer.db";
    sqliteDBHelper = new SQLiteDBHelper(dbPath);
    if (!File.Exists(dbPath))
    {
        //创建文件和表
        MessageBox.Show("丢失数据库配置文件DataServer.db,程序无法运行!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
        Application.Exit();
        return;
    }

    string strSql = "select * from project order by project_type";
    projectDataTable = sqliteDBHelper.ExecuteDataTable(strSql, null);
    foreach (DataRow row in projectDataTable.Rows)
    {
        projectTypeComboBox.Items.Add(row["project_type"].ToString());
    }
    if (projectTypeComboBox.Items.Count > 0)
    {
        projectTypeComboBox.SelectedIndex = 0;
    }

    strSql = "select * from file_config";
    fileConfigDataTable = sqliteDBHelper.ExecuteDataTable(strSql, null);
}

//选择文件目录
private void selectFileDirectoryButton_Click(object sender, EventArgs e)
{
    using (FolderBrowserDialog folderBrowserDialog = new FolderBrowserDialog())
    {
        folderBrowserDialog.Description = "选择文件夹";
        DialogResult dialogResult = folderBrowserDialog.ShowDialog();

        if (dialogResult == DialogResult.OK)
        {
            fileDirectoryTextBox.Text = folderBrowserDialog.SelectedPath;
        }
    }
}

//开始统计
private void startButton_Click(object sender, EventArgs e)
{
    if (string.IsNullOrEmpty(fileDirectoryTextBox.Text))
    {
        MessageBox.Show("请选择文件目录后再操作!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
        return;
    }

    fileExtensionList.Clear();
    string[] array = fileExtensionTextBox.Text.Split(',');
    foreach (string str in array)
    {
        fileExtensionList.Add(str.Trim().ToLower());
    }

    Task task = Task.Run(() => {
        StartStatisticsTask();
    });
}

private void StartStatisticsTask()
{
    startButton.Text = "停止统计";
    resultTextBox.Text = "正在统计中...";

    fileStatisticsDictionary = new Dictionary<string, Tuple<long, long, long>>();
    fileTypeStatisticsDictionary = new Dictionary<string, Tuple<long, long, long>>();
    fileTypeCountDictionary = new Dictionary<string, long>();
    fileDirectoryStatisticsDictionary = new Dictionary<string, Tuple<long, long, long>>();
    fileDirectoryDictionary = new Dictionary<string, int>();

    fileListView.Items.Clear();
    fileTypeListView.Items.Clear();

    StatisticsFiles(fileDirectoryTextBox.Text);
    
    SetFilesTabPageListViewData();
    SetFileTypeTablePageListViewData();
    SetFileDirectoryTablePageListViewData();

    startButton.Text = "开始统计";
}

3. 总结

该C#开发的代码行数统计软件是一款功能强大且灵活的工具,旨在帮助用户快速准确地统计文件目录中的代码行数。通过直观易用的界面和三种统计方式(文件名、文件类型、文件目录),用户可以方便地获取到包括总行数、注释行数、空行数等关键信息。软件还提供了自定义支持的项目类型和扩展文件名的功能,为用户提供了更大的灵活性和适用性。这款软件对于软件开发人员、项目管理者以及需要分析代码量的用户来说,都是一个非常实用的工具。

点击下载《代码统计工具(支持各种文件类型)》

  • 34
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
简介(Introduction) 免费的源代码统计分析工具,能够统计包括:代码行数、开发工数、项目成本、质量指标等项目信息,支持20多种源代码格式。具有统计迅速、准确的优点,是程序开发人员的必备工具。可以对 C++、VB.Net、VB、C#、JAVA、Delphi、ASP.Net、ASP、JSP、HTML 等项目进行统计,并能保存统计的结果。 下载地址(Download) http://boomworks.googlecode.com/files/SourceCounter-2.4.80.6.7z 主要功能(Features) * 支持对 20 多种代码格式进行统计 * 可以自由添加想要统计的文件的扩展名 * 支持多目录和包含子目录的统计方式 * 能够计算代码的人月数和成本 * 能够计算项目的各种质量指标(包括:测试用例密度、缺陷检出密度) * 支持统计结果保存为 .CSV 文件格式(可以方便地导入到 Excel) * 支持多国语言界面(英文、简体中文、繁体中文、日语等) * 保存上一次统计时的目录和代码类型 更新(Update) * 2.4.80.6版 - BOOM 2009-8-5 o 保存上一次统计时的目录和代码类型 * 2.4.61.99版 - BOOM 2009-4-8 o 更新代码统计算法 * 2.4.36.58版 - BOOM 2009-3-22 o 可以自由添加想要统计的文件的扩展名 * 2.2.32.49版 - BOOM 2009-3-10 o 增加对.cc/.hh/.hpp扩展名的支持 * 2.2.30.36版 - BOOM 2009-3-3 o 追加代码质量指标统计功能 o 界面更新 o 使用新域名BoomWorks?.Org * 2.1.24.11版 - B O O M 2008/11/24 o 修正不能统计 .C 扩展名代码问题 o 追加关于对话框 boomworks.org 连接 * 2.1.22.4版 - B O O M 2008/11/16 o 开始支持对 PHP 代码统计 o 更新 ASPX 代码统计的算法 * 2.1.14.75版 - B O O M 2008/11/08 o 增加计算代码的人月数和成本的功能 * 2.0.10.61版 - B O O M 2008/11/1 o .csv 统计结果保存格式更改 o 支持多国语言界面(英文、简体中文、繁体中文、日语等) * 2.0.1.1版 - B O O M 2008/10/23 o 支持多路径统计 o 支持更多文件格式 * 1.6.6.4版 - B O O M 2006/1/26 o 支持对 ASP 和 HTML 文件的统计 o 保存统计代码的文件夹路径 联系我们(Contact) * boomworks@gmail.com * boomworks@hotmail.com
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

孤蓬&听雨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值