腾讯云代码分析腾讯云代码分析
指南
API
  • IDE

    • Visual Studio Code TCA 插件
    • JetBrains IDEs TCA 插件
  • CNB

    • CNB TCA 插件
    • CNB TCA 徽章
  • Jenkins

    • Jenkins TCA 插件
  • MCP

    • TCA MCP 服务器
  • 深入

    • 内网仓库分析
    • API 触发分析
    • 分析速度优化
    • 问题检出率提升
  • 其他

    • 问题忽略方式
立即体验
  • 服务协议
  • 隐私协议
  • 简体中文
  • English
指南
API
  • IDE

    • Visual Studio Code TCA 插件
    • JetBrains IDEs TCA 插件
  • CNB

    • CNB TCA 插件
    • CNB TCA 徽章
  • Jenkins

    • Jenkins TCA 插件
  • MCP

    • TCA MCP 服务器
  • 深入

    • 内网仓库分析
    • API 触发分析
    • 分析速度优化
    • 问题检出率提升
  • 其他

    • 问题忽略方式
立即体验
  • 服务协议
  • 隐私协议
  • 简体中文
  • English
  • 指南

    • 产品介绍
    • 快速开始
    • 权限配置
    • 仓库配置
    • 分析方案
    • 分析项目
    • 组件分析
    • 节点管理
    • 增强分析
    • AI 助手
    • 插件配置
    • 工具规则
    • 常见问题
    • 词汇表

产品介绍

腾讯云代码分析(Tencent Code Analysis, TCA)起步于 2012 年(内部代号CodeDog),是集众多代码分析工具的云原生、分布式、高性能的代码综合分析跟踪管理平台,其主要功能是持续跟踪分析代码,观测项目代码质量,支撑团队传承代码文化。

用心关注每行代码迭代、助力维护卓越代码文化!

精准跟踪管理代码分析发现的代码质量缺陷、代码规范、代码安全漏洞、无效代码,以及度量代码复杂度、重复代码、代码统计。

代码分析是通过词法分析、语法分析、控制流、数据流分析等技术对程序代码进行分析,验证代码是否满足规范性、安全性、可靠性、可维护性、部分性能等,对代码进行综合分析和度量等指标的一种代码分析技术。

重要

本文档为腾讯云代码分析帮助文档,文档内容仅作参考,以平台具体提供内容为准!

简要架构

TCA 是由 TCA 平台端 + TCA 客户端组成:

  • 平台端主要用于相关配置,存储相关分析结果。

  • 客户端承载代码分析任务,并在其所在的机器上执行分析。TCA 采用分布式客户端架构,可以灵活的将客户端部署到任意地域(需要能够访问 TCA 平台端),例如作为一次性临时节点、常驻节点使用。

TCA 架构

主要功能

提示

  • 代码库分析:是指在平台点击接入代码库,登记代码库地址、凭证等信息,启动分析时,客户端节点会获取分析任务,通过 git 命令拉取代码执行代码分析。如代码库在企业内网,但需要在 TCA SAAS 上执行代码分析,可参考内网仓库分析。

  • 源码包分析:是指在平台点击接入源码包,上传源码包(将代码库压缩成源码包),启动分析时会解压源码包执行代码分析。

  • 制品库分析:是指在平台点击接入制品库,上传二进制制品(如 docker image、apk 等),启动分析时会启发式解包执行二进制组件成分分析(SCA)

主要功能代码库分析源码包分析制品库分析
代码检查✅✅❌
圈复杂度✅✅❌
重复代码✅✅❌
代码统计✅✅❌
历史趋势✅❌❌
源码组件成分✅✅❌
二进制组件成分❌❌✅

代码检查

支持进行代码检查,能够检测出代码质量缺陷、代码安全漏洞、代码规范等。通过代码检查精准跟踪并管理发现的代码质量缺陷、代码规范、代码安全漏洞、无效代码等问题。

目前已集成众多自研、知名开源分析工具,并采用了分层分离架构,可以满足团队快速使用自助管理工具。

代码度量

圈复杂度

支持圈复杂度分析,能够检测出代码的圈复杂度,包括方法圈复杂度和文件圈复杂度。圈复杂度也称为条件复杂度或循环复杂度,它可以用来衡量一个模块结构的复杂程度。圈复杂度大说明程序代码的判断逻辑复杂,可能造成代码质量低下且难于测试和维护。

定期分析工程项目中代码的圈复杂度,可以有效地帮助开发与测试逐步优化代码质量。

重复代码

支持重复代码检查,能够检测出代码的重复行数,重复块数及重复率。定期分析工程项目中的重复代码,可以有效地帮助开发团队发现冗余代码,方便开发团队进行代码抽象和重构,降低代码风险,以便于更好的管理和维护代码。

代码统计

支持全量增量展示代码行数统计,包含代码行、注释行和空白行,可以有效地跟踪了解工程项目中代码量持续变化,并可以查看各个语言的占比情况。

历史趋势

支持代码历史趋势分析,能够分析出代码库整体及代码库成员对应的代码量、提交次数、代码检查、重复代码、圈复杂度等变更趋势。

组件成分

支持源码组件分析、二进制软件成分分析,用于分析项目中的软件成分、License 合规风险、安全漏洞、开源组件投毒风险,以及敏感信息泄漏等多维度风险。

最近更新时间: 2025/12/30 13:08
贡献者: faberihe, cunlanluo, nickctang
下一页
快速开始