CodeWizard for Linux

制造商:ParaSoft
电子邮件:info@parasoft.com
价格:2495 美元(单许可证)
评论者:Ben Crowder
您正在进行最新的 C++ 项目,这是一个极其酷炫的软件,每个人都迫不及待地想看到它。但是在发布之前,您想要尽可能多地消除错误。您知道您有一个在 C 语言中养成的坏习惯,您必须一次又一次地回去修复它,因为您总是忘记现在是在用 C++ 编写代码。
ParaSoft 的 CodeWizard 登场了,它是一个在您的代码中搜索违反良好 C++ 编码标准的工具。CodeWizard 基于 Scott Meyers 的著作 Effective C++ 和 More Effective C++ 中的编程思想,自动执行 35 条描述性规则或“项”,以实现有效的 C++ 编程——这些标准可以显著减少代码中的错误数量。除了 Meyers 的规则外,ParaSoft 还包括了另外 36 项。
我们正在讨论什么样的规则?首先,这些项都根据规则的严重程度进行了评级。从最不严重到致命的五个等级是:信息性、可能违反、违反、可能严重违反和严重违反(见图 1)。信息性规则的一个例子是 Effective C++ 列表下的第 2 项:“优先使用 iostream.h 而不是 stdio.h。” 例如,如果您在代码中包含 stdio.h,则弹出的警告之一将解释说,在 C++ 编码时,您不应该使用 stdio.h(见图 2)。可能违反是规则 #17:“在 operator= 中检查是否赋值给自己。” 第 22 项列出了一种违反:“通过引用而不是通过值传递和返回对象。” 可能严重违反类似于“当您必须返回对象时,不要尝试返回引用”。严重违反可能会对您的程序造成致命的后果。规则 #10 是一个很好的例子:“如果您编写了 new,则编写 delete。” 当然,这似乎是显而易见的,但您可能会忘记它,从而导致难看的内存泄漏。这些项分为不同的类别,例如“从 C 转换到 C++”、“内存管理”和“继承与面向对象设计”。
CodeWizard 附带了一些关于安装和基本使用方法的说明。分发文件是一个 tar 文件——您需要手动将其从 CD 复制过来并解压缩。对于经验不足的用户来说,图形安装程序会很方便(尽管如果您不熟悉 UNIX shell 和基本命令,您可能不会使用 UNIX 版本的 CodeWizard)。您可以将 CodeWizard 配置为 root 用户或普通用户——这两种方式对我来说都很好用。需要许可证,必须从 ParaSoft 获得。ParaSoft 许可证管理器 pslic 程序将为您提供机器 ID 和网络 ID,您将其提供给 ParaSoft。作为回报,您将收到一个到期日期和一个密码,用于解锁 CodeWizard。我相信有更简单的方法来管理许可证,一种不需要联系 ParaSoft 的方法,但这种方法最大限度地减少了盗版(当然,这只是商业软件供应商关心的问题——GPL 的美妙之处在于它完全粉碎了软件盗版)。
您可以在命令行中使用 CodeWizard 代替编译器。而不是输入
g++ project.c -o project
您将使用
codewizard project.c -o project您可以在配置文件中设置 CodeWizard 要使用的编译器。然后,CodeWizard 会扫描您的代码,查找其规则集中的任何违规行为。顺便说一句,您可以抑制任何规则(以防其中一些规则应用于您的特定项目时没有意义),或者您可以使用 RuleWizard 添加自己的规则(见图 3)。有一个 Motif GUI 程序 Insra(见图 4),它显示错误消息,并允许您打开源文件、进行任何必要的更改、重新构建程序并重新测试代码是否存在违规行为。但是,如果您想保持一切都严格基于控制台,您也可以这样做。
总而言之,我不得不说 CodeWizard 可以为 C++ 编码提供令人难以置信的帮助。Java 版本也可用,并且凭借添加您自己规则的能力,您可以预见地将其用于几乎任何其他语言。虽然它确实很昂贵,但如果您认真对待 C++,这将是一项明智的投资。3.0 版本计划于 9 月发布。
