news 2026/6/10 18:23:44

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/6/10 14:47:18

2026必备!10个AI论文工具,专科生轻松搞定论文写作!

2026必备!10个AI论文工具,专科生轻松搞定论文写作! AI 工具助力论文写作,专科生也能轻松应对 随着人工智能技术的不断进步,越来越多的 AI 工具被引入到学术写作领域,帮助学生和研究人员提高效率、降低重复率…

作者头像 李华
网站建设 2026/6/10 14:42:44

告别GPU依赖:深度剖析AI推理芯片市场,谁将主宰终端智能?

导言:推理之战,为何是终端的主战场? "部署于云端的大模型,其推理成本约占总运营成本的70%-90%。"——这一触目惊心的数据并非推测,而是Amazon AWS 2023年官方技术报告对大模型服务(如Claude、Ti…

作者头像 李华
网站建设 2026/6/10 14:40:24

‌为什么你的AI客服总答非所问?可能是“意图识别”没测

一个被忽视的质量黑洞‌ ‌68%的用户在AI客服答非所问后立即终止对话,42%不再回访。‌ 某银行智能客服意图识别准确率从92%骤降至74%,日均错误转人工超10,000次。 电商企业因AI误判“课程适合几岁孩子”为价格咨询,转化率下降15%。 这不是技术…

作者头像 李华
网站建设 2026/6/10 13:28:52

用AI生成“越狱Prompt库”测试大模型底线

一、背景:为何软件测试需要“越狱Prompt”?‌ 在大语言模型(LLM)被广泛集成至自动化测试、代码生成、缺陷预测与测试用例生成的今天,模型的‌输出稳定性‌与‌安全边界‌已成为质量保障的核心指标。传统测试方法依赖预…

作者头像 李华
网站建设 2026/6/10 14:47:36

‌如何测试AI生成的图片是否侵权?

一、技术架构与测试对象解析 (一)核心侵权检测模块 特征比对引擎 采用卷积神经网络(CNN)提取图像色彩分布、纹理特征及物体结构,生成128维特征向量作为数字指纹 测试要点:验证特征提取模型对构图微调的敏…

作者头像 李华