在整个产品的Devops环节中,代码扫描是比较关键的一个环节,常见的工具有findbugs 、pmd、SonarQube等。
SonarQube是一个代码质量管理的开源平台,用于检测代码中的错误、漏洞并确保代码规范。
它可以与现有的工作流集成,以实现跨项目和拉取请求分支的代码检查,并支持Java、Python、PHP、JavaScript、CSS等25种以上的语言。SonarQube能够集成在IDE、Jenkins、Git等服务中,方便随时查看代码质量分析报告。
SonarQube的核心价值有以下几点
- 检查代码是否遵循编程标准,如命名规范,编写的规范等。
- 检查设计存在的潜在缺陷:SonarQube 通过插件 Findbugs、Checkstyle 等工具检测代码存在的缺陷。
- 检测出代码中的重复代码:SonarQube 可以监测并展示项目中复制粘贴的重复代码。
- 检测代码中的注释量是否合理:源码注释过多或者太少都会影响程序的可读和可理解性。
- 检测代码中包与类之间的关系:分析类之间的关系是否合理,复杂度情况。
Mendix低代码应用程序以模型驱动著称,因此不像Java、C#或者其他语言的传统开发那样——Mendix的程序中会有模型配置文件, Mendix特有的 “Java Action”、“Java Script Action”,以及“CSS”“XML”等文件,这些代码文件是可以扫描检测的。
一般来说典型开发有三个方式:
- 开发人员在IDE,如Eclipse、 Intellij IDEA、 Visual Studio Code中开发和合并代码(使用SonarLint插件在编辑器中接收即时反馈),并将代码集成ALM。
- 企业的持续集成(CI)工具检查、构建和运行单元测试,集成的SonarQube扫描器分析结果。
- 扫描程序将结果发布到SonarQube服务器,该服务器通过SonarQube接口、电子邮件、IDE内通知(通过SonarLint)向开发人员提供反馈。
为了验证SonarQube对于Mendix的适配性,我们需要提前搭建好SonarQube服务器,采用第三种方式通过扫描程序将结果发布到SonarQube服务器。SonarQube 平台由 4 个部分组成:SonarQube Server、SonarQube Database、SonarQube Plugins、 SonarQube Scanner,大家准备好SonarQube平台和Mendix程序后可自由搭建。
1. 配置相关参数,通过SonarQube Scanner扫描Mendix程序:
出现图中所示就表示已经分析完成了,此时我们就可以在SonarQube中查看到代码质量报告了。
2. 打开SonarQube平台,扫描结果如下。到对应的Mendix项目
3. Mendix项目总预览
4. 安全报告
5. 可维护性扫描
6. 重复性扫描
7. Issues扫描检测
8. 扫描Mendix项目Java、CSS、Javascript 、Xml文件
9. 安全性扫描
10. 可靠性检测
更多信息,请访问以下链接:
Mendix官网:低代码应用开发平台 - 快速高效地构建应用 | Mendix
Mendix中国论坛:首页-Mendix开发者论坛
Mendix行业解决方案:Low-Code Solution Gallery | Customizable Solutions For Every Industry
Mendix平台指南:Low-Code Application Development Platform Evaluation Guide | Mendix
Mendix动画展示:Application Development Demos – Mendix Low-Code Platform
谢谢阅读!