news 2026/8/9 20:18:20

Node.js代码统计神器

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Node.js代码统计神器

统计代码行数

使用Node.js编写一个脚本,统计指定目录下所有文件的代码行数。

const fs = require('fs'); const path = require('path'); function countLinesInFile(filePath) { const content = fs.readFileSync(filePath, 'utf-8'); return content.split('\n').length; } function countLinesInDirectory(directory, extensions = ['.js']) { let totalLines = 0; function traverse(dir) { const files = fs.readdirSync(dir); files.forEach(file => { const fullPath = path.join(dir, file); const stat = fs.statSync(fullPath); if (stat.isDirectory()) { traverse(fullPath); } else if (extensions.includes(path.extname(file))) { const lines = countLinesInFile(fullPath); console.log(`${fullPath}: ${lines} lines`); totalLines += lines; } }); } traverse(directory); return totalLines; } const targetDir = process.argv[2] || '.'; const total = countLinesInDirectory(targetDir); console.log(`Total lines: ${total}`);

统计代码字符数

统计指定文件中各种字符的出现频率。

function countCharacters(text) { const result = {}; for (const char of text) { result[char] = (result[char] || 0) + 1; } return Object.entries(result) .sort((a, b) => b[1] - a[1]) .reduce((acc, [key, value]) => { acc[key] = value; return acc; }, {}); } const text = fs.readFileSync('example.js', 'utf-8'); console.log(countCharacters(text));

统计代码复杂度

使用简单的复杂度计算方法统计代码中的条件语句数量。

function calculateComplexity(code) { const complexityPatterns = [ /if\s*\(/g, /for\s*\(/g, /while\s*\(/g, /case\s+/g, /\?\s*.+:/g ]; return complexityPatterns.reduce((total, pattern) => { const matches = code.match(pattern) || []; return total + matches.length; }, 0); } const code = fs.readFileSync('example.js', 'utf-8'); console.log(`Code complexity: ${calculateComplexity(code)}`);

统计代码注释比例

计算代码中注释占总代码量的比例。

function calculateCommentRatio(code) { const totalLines = code.split('\n').length; const commentLines = code.split('\n').filter(line => { return line.trim().startsWith('//') || line.includes('/*'); }).length; return (commentLines / totalLines * 100).toFixed(2); } const code = fs.readFileSync('example.js', 'utf-8'); console.log(`Comment ratio: ${calculateCommentRatio(code)}%`);

编程语言C++ziqihao.cn++c语言的魅力
编程语言C++swsci.cn++c语言的魅力

编程语言C++www.ziqihao.cn++c语言的魅力
编程语言C++www.swsci.cn++c语言的魅力

编程语言C++www.share.ziqihao.cn++c语言的魅力
编程语言C++www.share.swsci.cn++c语言的魅力

编程语言C++www.blog.ziqihao.cn++c语言的魅力
编程语言C++www.blog.swsci.cn++c语言的魅力

编程语言C++read.share.ziqihao.cn++c语言的魅力
编程语言C++read.share.swsci.cn++c语言的魅力

这些代码片段可以根据实际需求进行组合或修改,用于不同的代码统计场景。使用时需要注意文件编码和路径处理等问题。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/31 4:55:36

‌如何测试AI的“长上下文记忆”?

长上下文记忆测试的本质是“信息持久性验证”‌ AI的“长上下文记忆”并非真正记忆,而是模型在单次推理中对输入序列的‌上下文窗口内信息的保持与推理能力‌。测试目标不是验证“记住”,而是验证‌关键信息在超长对话链中是否可被准确召回、正确引用、…

作者头像 李华
网站建设 2026/7/31 3:39:45

批量解密神器,没有限制

有的时候在网上下载了PDF文档,发现都没有办法进行任何的操作,就连打印权限都没有。今天给大家介绍的这款软件可以一键帮你进行PDF解密,非常方便,完全免费,有需要的小伙伴可以下载收藏。 PDF智能助手 批量解密PDF文件 …

作者头像 李华
网站建设 2026/8/5 21:59:11

性能测试与代码覆盖率联动方案

1. 背景与重要性 在软件开发周期中,性能测试和代码覆盖率分析是两大核心质量保障手段。性能测试评估系统在高负载下的响应时间、吞吐量等指标,确保软件在真实环境中的稳定性;代码覆盖率则衡量测试用例对源代码的覆盖程度,包括语句…

作者头像 李华