PVS-Studio(静态代码分析工具)

大小:146.32M类别:编程软件

官方安全无插件纠错

  • 更新时间2024-04-18
  • 版本v7.30.80803.925
  • 系统Pc
  • 语言英文
PVS-Studio是一款易用的静态代码分析工具。PVS-Studio可以将软件的代码发送到本软件上测试,也可以直接将布局模块的函数添加到软件上分析,从而找到错误的编辑命令,让您及时处理错误的代码,为后期应用程序开发提供更好的检测功能;PVS-Studi其集成在Visual Studio 2012、2010、2008、2005和Embarcadero RAD Studio XE3 Update 1、XE3、XE2、XE、2010、2009等环境中,可以诊断C/C++/C+11应用程序源代码中的错误;PVS-Studio相对于其他类型的方法而言,软件采用的静态代码分析方法有明显的优越性,因为它可以覆盖整个程序代码,代码检查的过程在任何情况下都不会破坏代码本身,分析过程完全由程序员控制,并决定是否需要修改代码,有兴趣的小伙伴快来下载体验吧!

功能介绍

1、融合Visual Studio2005/2008/2010的开发环境
2、PVS-Studio提供在线帮助
3、可以生成PDF文件
4、可以保存和下载分析结果
5、具有命令行启动能力
6、支持所有的内核和处理器
7、评估64位代码移植的复杂度
8、支持 Windows(LLP64)和Linux(LP64)的数据模型
9、交互式过滤器
10、易于融入团队开发项目中
11、标记程序文本仅检查新代码

PVS-Studio安装教程

1、下载软件压缩包文件,双击打开“PVS-Studio.exe”,进行安装

2、阅读软件的许可协议,阅读完成后点击我接受许可协议,必须接受协议才能继续安装软件

3、点击“Browse”选择软件安装位置
安装向导默认设置的软件默认安装路径为C:\Program Files (x86)\PVS-Studio

4、选择需要安装的组件,自行选择勾选即可

5、确认安装信息,无误,点击Install进行安装

6、软件安装完成,安装向导会提示完成软件安装向导,点击Finish

7、双击打开PVS-Studio软件,点击Tools--Options--Registration,将“key.txt”文件内的姓名和注册码复制到软件中

8、再点击Help下的About,如下图PVS-Studio可以放心使用

软件特色

一、避免继承
1、Go编程语言是为数不多的面向对象语言之一,其特殊性体现在不提供任何类继承方法或来自其他类的属性,虽然类层次结构是面向对象语言的基石,但是也会使代码更加死板,常见层次结构中所有类有着微妙的联系,改变其中任何一个类可能导致后代类发生变化或需要改变一个祖先类,遗传有助于代码耦合同时破坏后期修改代码能力,从而减少代码的灵活性
2、PVS-Studio除了创建死板的层次结构,对象继承也束在一起,如果一个属性或方法在类中命名却未定义,那么平台隐式搜索该祖先类以寻求匹配,可以自定义简单的方法覆盖或复杂的多重继承和模糊设计模式,避免继承意味着避免复杂内置行为的解决方案
二、倾向组合
1、代替继承,Go语言建议对象组合,功能开发程序员都熟悉函数组成,组合对象是相似的,如继承,组合对象连接一个类到另一个,但不是调度隐式类,组合对象需指定何时或如何使用连接类方法和属性,这是会带来有力结果的一个小小不便
2、使用组合对象,调度方法调用不同对象就变得微不足道了,可以根据不同情况下组合多个对象和调度不同对象,达到即使是多重继承也无法实现的功能,在不使用静态属性和全局变量的情况下还可以共享常用对象和状态,组合对象提供了细粒度控制代码,当不知未来代码会发生如何改变时,该方法提供了巨大的便利
三、不要将偶然相似的代码抽象化
1、开发人员都学习了解DRY含义,它似乎变成了一个咒语,当我们编写代码时一旦发现相似的代码就会删除它,但是过于较真地删除重复数据往往不利于灵活性,特别是删除仅是表面的相似之处的代码
2、打个比喻,两个变量值均为200,一个变量指在列表上项目指定的最大数值,另一个被用于检测HTTP响应是否成功,从表面来看,两个变量有相同的数值,人们很容易将MAX_ITEMS值设置为另一个变量,而不是设置数值200,但是如果将MAX_ITEMS设置等于HTTP_SUCCESS,那么是一个严重错误,两个结果值相同但是变量间并无联系,具有更好灵活性的代码需要有重复的代码
3、以上的例子看起来很愚蠢,但是开发者开发时对模糊相似的代码会有下意识的反应,很多时候,相似性只是偶然和毫无意义的
笔者对于表面相似的代码变得非常谨慎,吸取了以往教训,首先做出特定代码变化是避免误删代码的第一步,抽象化代码(无论是自己还是别人、以前还是现在)可做出乐观的假设,如果很多自以为相似的代码需要改变,那么它们都会以同样的方式改变,但这些笔者并没有遇到,且很多时候代码改变并不是以共享方式
四、收缩抽象
1、抽象仍然是重要的,避免写抽象代码的一个方法是之前编写过代码后面不再写尽量减少抽象的代码的出现,编写少量抽象代码且集中起来,并且尽量不要调整代码位置,如果真的需要调整位置却不想改变代码的抽象所有的应用,那么更少的抽象对于修改版本更加容易
2、收缩抽象的一个关键技巧是区分概念,Cognitect的CTO Rich Hickey已重新将decomplet注入现代词汇中,意为散开通常,功能不同的代码会被放到同一个的代码块中,散开代码功能会产生抽象起到特定的作用,如设置一个标记,调用一个功能,然后取消标记
3、小抽象也会有更广泛地应用,它们更容易相互组合,如果已习惯构建小的抽象代码,随着项目的不断成熟会有一个稳固的积累,使其更容易在不需要编写复杂代码情况下引入复杂的需求
五、不要设想
更多的假设会让代码变得更加死板,避免设想使得代码更容易变化
从目前我的项目中有一个实例:一个新链接应该在新标签中打开吗?有些人支持新标签,则有人反对,还有些都可以,通常情况下,这样的争论会通过权衡利弊,甚至做一些调查,遵循更好的选择,但在这种情况下,有一个假设我们没有做,链接没有自身行为方法,因为是我们配置行为,我们目前通过功能指定是否打开标签
我们仅需修改少部分的代码来实现该选择功能,不同的开发者可以根据偏好设置不同的选项,如果用户想要关闭该选项,无须任何的代码改动也是可以做到的,如果用户不喜欢,我们也很容易配置符合每个用户的喜好,应用程序将会更加灵活因为我们避免了设想方式

支持的语言和运行环境

•Visual Studio 2012 C,C++,C++11,C++/CX(WinRT)
•Visual Studio 2010 C,C++,C++0x
•Visual Studio 2008 C,C++
•Visual Studio 2005 C,C++
•Embarcadero RAD Studio XE3 Update 1包括C,C++,C++11,64位编译器
•Embarcadero RAD Studio XE2 C,C++,C++0x
•Embarcadero RAD Studio XE C,C++
•Embarcadero RAD Studio 2010 C,C++
•Embarcadero RAD Studio 2009 C,C++
•MinGW C,C++,C++11

展开内容

类似软件

  • kodexplorer Web在线文件管理器 13.33M kodexplorer是一款开源的Web在线文件管理、代码编辑器,大家有没有想过在浏览器上对你的电脑资源进行管理呢,对于经常写代码的朋友来说,在各种编辑器与桌面之间来回切换是不是很麻烦呢。而今天小编为大家介绍的这款kodexplorer可以说是别具一格,

  • intellij idea 2021.3中文版 653.24M idea2021.3是一款专业性Java语言编程开发软件,idea2021.3不论是从出色的功能还是简单易用的操作方式,亦或是其广泛的适用性都深受用户的热烈追捧。相较于之前的版本相比,idea2021.3不仅是在界面上有所改进,同时在功能上也带来了一些全

  • FTool开发工具箱 33.69M FTool开发工具箱是一款基于Electron编写的开发工具箱

  • cp pascal editor(Pascal编辑器) 3.45M cp pascal editor是专为Pascal语言所设计的拥有大量创新工具的集成编辑环境,采用了独立的开元编译器CPPascalCompiler,专为初学者设计了一些功能,提供Math与Crt等常用单元,非常适合我们的教学和初学者使用,如果你需要一款

网友评论

0人参与,0条评论
  • 评论需审核后才能显示

同类排行

  • ch341a土豪金编程器软件 8.98M ch341a土豪金编程器软件,一般又叫neoprogrammer。这是个性价比很高的便携编程器,淘宝上杂牌的10多元,相信爱折腾BIOS的都用过,杂牌一般附送的软件都不好用。软件适用于24/25系列SPI flash 的读取刷写,支持超过32M的容量的读

  • JDK 21(Java开发工具包) 162.25M 由oracle官方打造的Java语言的软件开发工具包。

  • 按键精灵官方版 22.81M 按键精灵官方版是一款能够模拟键鼠动作的脚本软件,通过制作并使用脚本,可以让按键精灵来代替您进行一系列的动作行为,解放您的双手。

  • IAR EWARM(嵌入式工作台) 2.42G IAR Embedded Workbench for Arm,通常简称为IAR EWARM、IAR for ARM,是由IAR Systems公司为Arm微处理器开发的一款集成开发环境(IDE),即嵌入式工作台。它以其易用性、代码紧凑以及广泛的支持

  • Visual Studio Express 2013完整版 401.49M Visual Studio 2013是由微软公司于2013年11月13日发布开发的一款集成开发环境(IDE),用于编写、编辑、调试和部署应用程序,它是Visual Studio系列产品的一部分。Visual Studio(简称VS),是一个基本完整的开发

  • gx works2最新版(三菱PLC编程软件) 500.85M GX Works 2(三菱PLC编程软件)是由日本三菱公司出品的一款PLC编程软件,专门用作于机械设备上的控制器代码编程,是一款非常专业的软件,通过GX Works 2能够让机械具备执行逻辑运算,顺序控制、定时等等面向用户的指令

  • keil uvision5官方版 285.41M keil uvision5官方版是keil公司设计出的一款功能强大的IDE集成开发环境,其兼容于KEIL所有的开发工具,包括MDK、PK51、PK166、DK251等,可以说是目前针对RM微控制器尤其是ARM Cortex-M内核最为便捷,功能最全的一款

  • Tiled Map Editor(游戏地图编辑器)官方版 17.96M Tiled Map Editor(游戏地图编辑器)官方版是一款基于java/QT的开源区块地图编辑器,软件支持2D和2.5D的地图及多区块类型,能够轻松的让开发人员进行游戏地图的开发并保存为XML文件,借助XML的特性是地图可以通用语各个游戏平台,而且通

  • Visual Basic 6.0中文企业版 215.92M Visual Basic 6.0中文企业版是一种常用的编程开发工具,软件的基础是编程语言Basic ,微软推出这款软件主要是为了让人们更好的学习编程,而6.0版本同时也是老vb的最后一个版本。vb6.0企业版拥有强大的c/s数据库开发功能,而且还引进了最

  • Jetbrains DataGrip 2020.1官方版 352.85M Jetbrains DataGrip 2020.1是一款数据库管理编程开发软件,是由JetBrains公司专为datagrip数据管理所打造的,该软件功能非常的强大,兼容性也是非常的强,让用户可以能够对数据库轻松进行管理。软件提供智能代码完成、代码检查、

  • jdk 15官方版 158.25M JDK 15是Java 语言软件重要开发工具包,是整个Java的核心所在。JDK作为Java开发的环境,不管是做Java开发还是做安卓开发,都必须在电脑上安装JDK,这是一款需求很大的软件。JDK是整个Java的核心,包括了Java运行环境,Java工具

  • Crystal Reports 2008 345.88M Crystal Reports 2008水晶报表是一款功能强大的报表解决方案软件,通过它可以帮用户轻松完成各种工作报表问题,并且它还可以帮助你网络设计、开发、可视化及发布报表嵌入到企业应用之中来解决问题。软件支持从报表自身出迅速执行决策,能够大幅减

  • SQLite Developer官方版(数据库管理) 10.12M SQLite Developer官方版是SharpPlus出品的一款数据库管理工具。支持对sqlite3数据库的管理,能够自动完成窗口显示和执行数据库命令等多种特色。并且支持打开.db文件,适用于Android的开发。另外,使用Sqlite Develo

  • html help workshop 3.3M html help workshop是由微软推出的HELP文件工具,而且除了HTML格式的帮助文件以外,用户也能够制作CHM文件,相比较于其他的制作软件,这款要更加方便,特别是CHM帮助文件本身就有html文件的特征。html help workshop

  • Masm for windows集成实验环境2023 37.1M Masm for windows集成实验环境是一款汇编开发环境,主要为X86微处理器家族提供汇编开发服务,拥有可视化的开发界面,有了这款软件,用户再也不必使用DOS环境进行汇编开发,速度更快,更能够让用户开发出优质的微处理器应用程序。 Masm for