首页 文章 精选 留言 我的
优秀的个人博客,低调大师

微信关注我们

原文链接:https://www.oschina.net/news/229542/modstartcms-5-8-0-released

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

如何有效的解决代码的圈复杂度

作者:京东零售 杨学刚 背景介绍 不管小型公司还是大型互联网公司,很多项目债台高筑,新功能开发困难。其中一个很大的原因就是代码复杂,可读性差。Sonar开发团队曾上纲上线的戏称开发人员的7宗罪,其中很关键的一条就是“复杂度”。那复杂度有没有一个明确的衡量标准,我们又如何去解决代码的圈复杂度呢?今天我在这里和大家聊一下。 圈复杂度的计算方法 我们先来看一下圈复杂度与代码质量以及测试和维护成本之间的一个关系。 我们可以看到当圈复杂度,在1-10之间的时候,代码是清晰,结构化的。可测试性比较高,维护成本也比较低。随着圈复杂度的升高,代码的状况开始恶化,当大于30的时候,代码已经逐步变为不可读,维护成本非常高。 点边计算法 那圈复杂度是如何计算的呢,常用的第一种方法叫做点边计算法,它圈复杂度的计算方式 V(G) = E − N + 2,我们用下边图来解释一下这个公式: 其中公式之中的E指的是控制流图中边的数量,N指的是控制流图中的节点数量。这两个图形指的就是控制流图。那我们可以计算一下,第一个控制流图的圈复杂度是:4-4+2=2. 节点判定法 除此之外圈复杂度还有一种更为直观的计算方法...

GeoTools 存在 sql 注入漏洞

漏洞描述 GeoTools 是一个用于处理地理空间数据(如实现地理信息系统: GIS)的开源代码库,并且支持 OGC 过滤器表达式语言的解析和编码,PostGIS DataStore 为GeoTools数据库。 GeoTools 受影戏版本未对用户传入的 sql 字符进行有效过滤,当使用 JDBCDataStore 实现的 OGC 过滤器处理用户sql语句时存在 SQL 注入漏洞,攻击者可利用此漏洞获取系统数据库数据信息。 用户可通过在 PostGIS DataStore 中禁用 encode functions 或在 PostGIS 中启用 prepared statements 缓解此漏洞。 漏洞名称 GeoTools 存在 sql 注入漏洞 漏洞类型 SQL注入 发现时间 2023-02-23 漏洞影响广度 小 MPS编号 MPS-2023-3774 CVE编号 CVE-2023-25158 CNVD编号 - 影响范围 org.geotools:gt-jdbc@[28.0, 28.2) org.geotools:gt-jdbc@[2.6.6, 24.7) org.geotools...

相关文章

发表评论

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册