热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

教程:使用SourceMonitor进行代码质量分析

SourceMonitor是一款强大的代码分析工具,能够对Java、C++、C、C#和Delphi等多种编程语言进行复杂度分析,帮助开发者有效评估和提升代码质量。通过详细的指标和报告,该工具可辅助团队识别潜在问题并优化代码结构。

Source Monitor is a code analyzing tool that is capable of finding the complexity for Java, C++、C、C#、Delphi、Visual Basic and HTML source codes. It‘s a standalone software which does not rely upon any specific IDE to work. What‘s even better is that it is a Free Software. In this tutorial I‘ll show you how to install and use this convenient tool analyze some code.

1. Download Source Monitor from http://www.campwoodsw.com/sourcemonitor.html. Run the setup wizard.

技术分享

2. Click "Next" to install. Choose the installaion path, etc. Nothing unusual.

3. Open the installed software. In the welcome screen, click "Start SourceMonitor" to begin.

4. Before proceeding to analyze some code. Let‘s open the settings page and tick "allow parsing of UTF-8 files" as some of the source code files may be stored in UTF-8 format.

技术分享

5. Click "New..." to begin analyze the code. In Step1, we select the language of the code. Here "Java" is chosen as we‘re going to analyze a Java project.

技术分享

6. In Source Monitor, each analysis is seen as a "Project". In this step, we choose where to save the data files of this analysis.

技术分享

7. In Step 3, select the path of your source files.

技术分享

8. In Step 4, specify some options for this analysis. Here we choose to ignore any blank lines in the source code.

技术分享

9. In the following step, choose the desired format to save the analysis project file.

技术分享

10. Name the Project Checkpoint. Here we keep the default name, which is "Baseline".

技术分享

11. In the final step, review a summary of the project settings. If it‘s OK, click "Finish" to start the actual analysis process.

技术分享

12. Then it will ask you to choose which files to analyze. By default, it will automatically pick out all the files whose extension matches the language that we‘ve selected in Step 1. In this tutorial, as we‘ve selected "Java" in the first step, all .java files are selected automatically. Click "OK" to proceed.

技术分享

13. A moment later, the job will finish and shows a general report the whole project.

技术分享

14. Double click it will bring you to a new screen where the detailed reports of each file are shown.

技术分享

This brings the tutorial to an end. If you‘re interested in more information about Source Monitor, you can visit its official website http://www.campwoodsw.com/sourcemonitor.html

Your feedbacks and suggestions are greatly appreciated.

Source Monitor Tutorial


推荐阅读
  • 本文档详细介绍了服务器与应用系统迁移的策略与实施步骤。迁移不仅涉及数据的转移,还包括环境配置、应用兼容性测试等多个方面,旨在确保迁移过程的顺利进行及迁移后的系统稳定运行。 ... [详细]
  • 本文介绍了在 Android 开发中如何实现像素 (px)、缩放独立像素 (sp) 和密度独立像素 (dp) 之间的相互转换。这些方法对于确保应用在不同屏幕尺寸和分辨率上的适配至关重要。 ... [详细]
  • 本文介绍了如何在 Linux 系统上构建网络路由器,特别关注于使用 Zebra 软件实现动态路由功能。通过具体的案例,展示了如何配置 RIP 和 OSPF 协议,以及如何利用多路由器查看工具(MRLG)监控网络状态。 ... [详细]
  • 学习目的:1.了解android线程的使用2.了解主线程与子线程区别3.解析异步处理机制主线程与子线程:所谓主线程,在Windows窗体应用程序中一般指UI线程,这个是程序启动的时 ... [详细]
  • 在现代多线程编程中,Lock接口提供的灵活性和控制力超越了传统的synchronized关键字。Lock接口不仅使锁成为一个独立的对象,还提供了更细粒度的锁定机制,例如读写锁(ReadWriteLock)。本文将探讨如何利用ReentrantReadWriteLock提高并发性能。 ... [详细]
  • 导读上一篇讲了zsh的常用字符串操作,这篇开始讲更为琐碎的转义字符和格式化输出相关内容。包括转义字符、引号、print、printf的使用等等。其中很多内容没有必要记忆,作为手册参 ... [详细]
  • 本文介绍了一种利用迭代法解决特定方程问题的方法,特别是当给定函数f(x)在区间[x1, x2]内连续且f(x1)0时,存在一个x~使得f(x~)=0。通过逐步细化搜索范围,可以高效地找到方程的根。 ... [详细]
  • 一个产品数组拼图|集合 2 (O(1)空间) ... [详细]
  • 本文介绍了如何利用Python的Turtle库来绘制奥运五环。通过设置不同的颜色和位置,能够精确地模拟奥运标志。 ... [详细]
  • 本文探讨了在Java应用中,由于对象间循环引用导致重写toString方法时出现StackOverflowError的具体情况,并提供了有效的解决方案。 ... [详细]
  • 使用Adobe Illustrator打造独特的家族徽章:牡鹿图腾设计教程
    本文详细介绍了一种基于《权力的游戏》灵感,运用Adobe Illustrator创作独特家族图腾——牡鹿徽章的方法。本教程不仅展示了具体的步骤,还提供了多种技巧,帮助读者创作出既具个人特色又符合设计原则的作品。 ... [详细]
  • 本文介绍了一个简单的Python函数,该函数能够接收一个日期作为输入,并返回这一天是星期几。此功能通过使用Python的datetime模块实现。 ... [详细]
  • Web安全入门:MySQL基础操作与SQL注入防范
    本文详细介绍了MySQL数据库的基础操作命令,包括数据库和表的基本管理,以及数据的增删查改等常用操作。同时,针对Web安全领域常见的SQL注入问题,提供了初步的理解和防范措施。 ... [详细]
  • 本文详细介绍了 C# 编程语言中 Main 方法的作用、不同形式及其使用场景,帮助开发者更好地理解和应用这一重要概念。 ... [详细]
  • 利用Android Path实现动态贝塞尔曲线QQ消息气泡
    本文介绍了如何使用Android中的Path类绘制动态贝塞尔曲线,以模拟QQ消息气泡的拖拽效果。通过实践,详细解析了实现这一功能的关键步骤和技术要点。 ... [详细]
author-avatar
程序员老板梦
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有