代码质量管理的一些思路
关注公众号: java乐园
现在程序员的能力参差不齐,有科班出身的;也有半路出家的。如何提高代码的质量,对系统的鲁棒性(稳定性)非常重要。
0x01:编写规范的代码
在编写代码时,给包名、类名、类属性等做一定的规范。可以达到见名知意的效果。具体可以参考《阿里巴巴Java开发手册》
链接: https://pan.baidu.com/s/1ANvBu1hidnvRCZILDGXuQA
密码: ugq8
一些常见的模式
项目jar命名:系统 - 模块。例如,cms-user
package命名:按照模块、controller、service、dao模式命名。例如,控制器层com.user.controller,服务层com.user.service,持久层com.user.dao。
工具类包:com.common.utils
类名:控制器类UserController,服务类UserService,持久类UserDao
生成器功能的类可以命名成XXXGenterator
加载器功能的类可以命名成XXXLoader
具体其他的规则参考《阿里巴巴Java开发手册》,就非常规范了。
0x02:静态扫描
根据约定的规范编写出来的代码,虽然达到了统一规范,但是并不能规范代码编写的风格。例如,没有按规范使用日志框架打印日志,而使用了System.out;没有按规范关闭输入流 / 输出流。这种代码质量的问题,则需要使用一些静态代码扫描工具,进行扫描,然后再进行修复。例如,使用 sonar 静态代码扫描,sonar 由2部分组成,分别是 SonarQube 平台,SonarScanner扫描器。
SonarQube: WEB 界面管理平台
展示所有的项目代码的质量数据
配置质量规则、管理项目、配置通知、配置SCM等
SonarScanner: 代码扫描工具
专门用来扫描和分析项目代码。支持20+语言
代码扫描和分析完成之后,会将扫描结果存储到数据库当中,在sonarQube平台可以看到扫描数据。
SonarQube 和 SonarScanner 之间的关系
以上只是接受了一种静态代码扫描的方案,有钱的大公司也会购买 Fortify,这种大型的商业软件进行代码扫描。
0x03:动态扫描 (安全扫描)
静态扫描就是不运行程序,通过扫描源代码的方式检查漏洞;动态扫描则是在运行程序下,通过接口***的方式检查漏洞。在这种方案下,可以检查到 SQL 注入、XSS 脚本***、越权、目录列表等漏洞。这块常见的解决方案是 IBM 公司的AppScan 安全扫描工具(IBM Security App Scan Standard)。
AppScan 是 IBM 的一款 web 安全扫描工具,可以利用爬虫技术进行网站安全***测试,根据网站入口自动对网页链接进行安全扫描,扫描之后会提供扫描报告和修复建议等。AppScan 有自己的用例库,版本越新用例库越全(用例库越全面,对漏洞的检测较全面,被测试系统的安全性则越高)
工作原理:
通过探索了解整个 web 页面结果
通过分析,使用扫描规则库对修改的 HTTP Request 进行***尝试
分析 Response 来验证是否存在安全漏洞
链接:https://pan.baidu.com/s/19TAHl8lYGmE0O753ULyzYA
密码:yvle
如果想尝试使用 AppScan 可以参考以上博客
https://blog.csdn.net/u010013191/article/details/80733170

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
鸿蒙第三方组件——SwipeCaptcha滑动拼图验证组件
前言 基于安卓平台的滑动拼图验证组件SwipeCaptcha( https://github.com/mcxtzhang/SwipeCaptcha),实现了其核心功能的鸿蒙化迁移和重构,代码已经开源到(https://gitee.com/isrc_ohos/SwipeCaptcha),欢迎各位下载使用并提出宝贵意见! 背景 在页面登录或者注册的时候,为了确保不是机器人操作,会让用户手动验证。验证方式分为滑动拼图验证和滑动验证两种。本文的SwipeCaptcha组件可以实现滑动拼图的验证方式,操作简单,安全性强,被众多APP使用。 组件效果展示 鸿蒙系统的SwipeCaptcha组件在使用时,有两个较为重要的图片:滑块和原图。这两张图片被放置与同一水平线上,用户拖动滑块至原图处,误差在一定范围内,即可验证成功。每次调用SwipeCaptcha组件,滑块和原图的位置都会发生随机变化,登录时被暴力破解的难度增加,安全性较高。 在SwipeCaptcha组件的验证界面,还有当前进度值和验证状态的描述。当前进度值表示滑块在水平方向的滑动进度,进度为100时,表示滑块滑至...
-
下一篇
在Ubuntu系统上使用kubeadm部署v1.20版的Kubernetes集群
官方文档: https://kubernetes.io/zh/docs/setup/production-environment/tools/kubeadm/install-kubeadm/ https://kubernetes.io/zh/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/ 1、前提条件 一台或多台运行着Ubuntu16.04+操作系统的机器 硬件配置:内存:2GB+,CPU:2C+ 硬盘:30GB+ 集群中的所有机器的网络可以相互通信 禁用交互分区 可以访问外网,需要拉取镜像 2、准备部署Kubernetes集群 2.1、部署目标 如下图,给出了本章要部署的目标集群的基本环境,它拥有一个Master节点和两个Node节点。各Node主机的配置方式基本相同。 各主机上才用的容器运行时环境为Docker,为Pod提供网络功能的CNI是calico,它运行为托管于Kubernetes之上的Pod对象,另外,基础附件还包括CoreDNS用于名称解析和服务发现。 2.2、系统环...
相关文章
文章评论
共有0条评论来说两句吧...