LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

软著申请之代码整理跟代码数统计

freeflydom
2025年5月13日 10:27 本文热度 61

大家好,又到一年一度的我司申请软著的时候了,今年写了一些小工具,分享一下,大家写软著的时候兴许能用到。

1. 代码整理

软著的申请是需要提交一些项目代码的,最好是60页,前面最好是项目的启动文件,因此第一页我首先会拷贝项目的 package.json文件,接下来拷贝 src/app 下面的文件,那么手动拷贝一个个文件这种麻烦的事情程序员肯定不会干的,因此用到了以下这个文件,可以输出某个目录下的所有文件,并进行整理。

另外由于代码文件中不建议出现空行,因此这里的程序把所有的空行都去掉了。

输出完文件之后,需要对文件进行检查,如果文件的内容的中文部分对软著的申请有歧义的,可以进行进一步诠释或者删除。

const fs = require('fs');
const path = require('path');
const sourceDir = path.resolve(__dirname, 'src/pages'); // 替换为你的目标目录
const outputFile = path.resolve(__dirname, 'merged_output.txt');
const projectName = '' // 替换为你的项目名称
// 清空或新建输出文件
fs.writeFileSync(outputFile, '', 'utf-8');
// 递归读取所有文件
function readFilesRecursively(dir) {
  const entries = fs.readdirSync(dir, { withFileTypes: true });
  for (const entry of entries) {
    const fullPath = path.join(dir, entry.name);
    if (entry.isDirectory()) {
      readFilesRecursively(fullPath);
    } else if (entry.isFile()) {
      const relativePath = path.relative(__dirname, fullPath);
      const content = fs.readFileSync(fullPath, 'utf-8');
      const nonEmptyLines = content
        .split('\n')
        // .map((line) => line.trim())
        .filter((line) => line !== '');
      // 写入相对路径和内容
      fs.appendFileSync(outputFile, `// ${projectName}/${relativePath} \n`, 'utf-8');
      fs.appendFileSync(outputFile, nonEmptyLines.join('\n') + '\n', 'utf-8');
      console.log(`已合并:${relativePath}`);
    }
  }
}
readFilesRecursively(sourceDir);
console.log(`✅ 合并完成,输出文件:${outputFile}`);

输出格式形如:

// project-name/your-folder/file1.txt
非空行内容1
非空行内容2
// project-name/your-folder/file1.txt
console.log('hello');

2. 代码行数统计

那么在软著的申请表上还需要统计项目代码的总行数,像这种麻烦的事情程序员也不会手动干的。

先安装插件StatisticWebstorm/Setting然后搜索 

点击statistics,在这里可以查看到项目代码的总行数。

如果需要去掉某些目录,点击setting后可以点击这里的Add,添加后将不会进行统计。

后面附上软著申请的参考文件,有需要的可以看看

软著编写模板

AlexanderZhou01/China-software-copyright

手把手带你申请软著!助你提高通过率!!!

前端可以申请软著吗

转自https://juejin.cn/post/7503172559274901544


该文章在 2025/5/13 10:27:26 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2025 ClickSun All Rights Reserved