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

展开内容

类似软件

  • Markdown Monster编辑器

    9.1/22.73M

    一款非常好用的Markdown编辑软件

  • eclipse中文版

    9.1/348.4M

    eclipse 中文版是一款功能强大的开放源码集成开发环境,被广泛应用于各种软件开发场景中。eclipse具有丰富的工具和插件,支持多种编程语言和平台,可以帮助开发人员更高效地进行软件开发。

  • Navicat for SQLite中文版

    9.1/74.23M

    Navicat for SQLite是一款专为SQLite数据库开发人员打造的数据库管理工具,提供了一套完整的数据库管理和开发功能,具有直观的新界面,可用于自定义字段和指定要传输的行数,可以稳定快速地传输大量数据。

  • inno script studio

    9.1/6.17M

    inno script studio是一款专门针对Inno setup开发的编译器生成脚本。其操作非常容易上手,并且软件直观的脚本编辑能够很好的提升用户的工作效率,初次之外,软件还提供高效的图形界面让用户早操作上更加方便,每一个工具都安排的恰到好处,能够让那个用户更加开速的完成脚

网友评论

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

同类排行

  • JAVA 8

    9.2/1.09M

    JAVA 8全称为Java Runtime Environment8,它是一款java程序运行所不能缺少的环境。做为现在最流行的应用程序语言之一,java的安全性以及跨平台的特性,是大家都知道的,现在的电脑上都有java的踪迹,而你想要运行java语言编写的程序就必须需要jre,

  • JDK 21(Java开发工具包)

    9.5/162.25M

    由oracle官方打造的Java语言的软件开发工具包。

  • fiddler(抓包工具)官方中文免费版

    9.1/6.24M

    fiddler抓包工具官方中文免费版是一款非常专业的http协议调试代理工具,为了利于使用,该版本已完成全部汉化。它不仅能够记录并检查所有用户的电脑和互联网之间的http通讯,同时用户在设置断点之后,可以查看所有的“进出”Fiddler的数据如cookie,html,js,css

  • Openssl Windows版

    9.0/121.57M

    OpenSSL是一个安全套接字层密码库,它囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。OpenSSL采用C语言作为开发语言,这使得它具有优秀的跨平台性能,用户借此可以在不同的平台使用同样熟悉的东西,它支持Linux、Wi

  • 西门子s7-300编程软件中文版

    8.8/506.24M

    西门子s7-300编程软件中文版是一款优秀的plc编程软件!它可以用于西门子系列工控产品编程,包括SIMATIC S7、M7、C7和基于PC的WinAC的编程、监控和参数设置, 是SIMATIC工业软件的重要组成部分,并且它还具有以硬件配置和参数设置、通讯组态、编程、测试、

  • JetBrains CLion 2024(C/C++集成开发环境软件)

    9.0/1.18G

    一款JetBrains旗下的提供的跨平台C/C++IDE工具

  • 易语言编程软件

    9.0/98.63M

    对于编程人员而言,最开始的一定是接触使用易语言。作为程序代码的编程语言,易语言是一个由中国人自主开发,适合国情,以及不同层次不同专业的人员易学易用的汉语编程语言,在易语言当中凭借其对于编程的低门槛,能帮助用户解决因语言不便所带来的编程工作的障碍。

  • EasyBuilder500(步科触摸屏编程软件)

    9.0/20.64M

    EasyBuilder500中文版是一款专业的触摸屏编程软件,支持适用于MT505T、MT506MV、MT508T、MT510T等多种型号,可帮助用户在极端的时间内掌握其设计方法,非常适合现代工业越来越庞大的工作量及功能的需求,并可让用户设计出最为一流的作品。

  • cppcheck(C/C++ 静态代码检测工具)

    8.8/16.41M

    cppcheck是一款专门用于C/C++程序代码缺陷静态检查工具,不同于C/C++编译器及其他分析工具,你可以使用这款软件检查编译器检查不出来的BUG,让用户程序中的隐藏bug无所遁形,当然软件不会检查用户的语法错误,这个还是得靠用户的编译器来检查。

  • Microsoft .NET Framework(微软NET框架运行库)

    9.0/27.11M

    用于Windows的新托管代码编程模型

  • Qt Creator官方版(跨平台开发环境)

    9.6/1.18G

    Qt Creator是跨平台的 Qt IDE,Qt Creator 是 Qt 被 Nokia 收购后推出的一款新的轻量级集成开发环境(IDE)。此 IDE 能够跨平台运行,支持的系统包括 Linux(32 位及 64 位)、Mac OS X 以及 Windows。根据官方描述,Qt Creator 的设计目标是使开发人员能够利用 Qt 这个应用程序框架更加快速及轻易的完成开发任务。

  • rational rose 2007

    8.9/551M

    rational rose 2007是rational公司推出的一款面向对象的统一建模语言的可视化建模工具,用于可视化建模和公司及水平软件应用的组件构造。rational rose 2007则是小编到来的流传最广,使用最多的其中一款软件,软件设计师们通过这款软件,能够像戏剧导演设

  • CherryTree(分层笔记本软件)

    9.1/82.27M

    一款可以支持多种编程语言的分层笔记本软件。

  • borland c++ builder

    8.5/130.43M

    c++ builder 6.0算是一款比较老的C++集成开发工具了,也是最早的一批可视化集成开发工具,开发人员使用这一类的开发工具也比较轻松,只要简单的把控件拖到窗体上即可,然后再为其属性进行设置,比如外观,功能,链接等属性。

  • UltraEdit官方版(文本代码编辑器)

    9.6/176.84M

    UltraEdit官方版是一款功能强大的基于磁盘的文本代码编辑器,它可用于编辑HTML,PHP,JavaScript,Perl,C / C ++,Python和几乎任何其他编码/编程语言,并且UltraEdit还能处理和编辑超过4GB的文件!