如何实施Delphi编码标准

时间:2010-06-29 05:45:49

标签: delphi coding-style

我想为 Delphi代码库 强制执行编码标准

一些同事建议使用Code Healer和Pascal Analyzer。我看过这些工具并不合适。

我希望能够为CheckStyle for Java或StyleCop for C#做同样的事情

4 个答案:

答案 0 :(得分:3)

似乎这两个是最常用的。您也可以尝试:

http://jedicodeformat.sourceforge.net/

答案 1 :(得分:3)

一些较新版本的Delphi在Model视图中提供Audits and Metrics,也可以配置为设置允许的限制。它们不会从命令行运行以进行构建集成,因此我发现它们不是很有帮助。

我知道高度可定制的Java(和.Net工具),如PMD,FindBugs和CheckStyle,它们可以生成XML或HTML统计报告,并且还可以很好地与构建工具(Ant,Maven,Hudosn)集成 - 但是对于Delphi来说没有可比性到目前为止,我已经越过了我的道路。

答案 2 :(得分:3)

最好的一个是Peganza的Pascal Analyzer(PAL),你说你试过并发现它不合适,但没有说明原因。我会说一点赞成:它是商业的,便宜的,值得的。他们最近发布了第5版,如果版本5不能满足你的需求,你应该告诉他们你想要什么,因为每当我提到我希望产品添加的功能时,他们总是回答我的要求。

我们使用它而不是Delphi指标的高端SKU,因为它的成本更低,并且比内置的3000美元更多。我认为它的成本约为160美元。

我是一个快乐的客户。以下是我喜欢的一些度量标准区域的示例:约定合规性 - 不以T开头的类名,异常类型不以E开头,类字段不是私有,带有愚蠢名称的标识符,类可见性混淆或坏的顺序,本地标识符/单元外部范围标识符冲突。不一致的情况,还有很多很多!

alt text

缺点是输出是“TMemo”控件中的纯文本。当然,我已经找到了很多方法来获取输出并编写我自己的小型排序/过滤器实用程序来从报告中挖掘更多有用的东西。一个强大的工具,一旦你尝试,你将无法生存。

我意识到你在答案中已经说过你已经尝试过了,但是如果它不是你想要的那样,它已经是目前最好的LPS工具了。

答案 3 :(得分:0)

如果您要编写自己的样式检查,可以在Delphi中编写.exe来查找正在执行的错误内容。在预先提交的钩子中将其调用到您的存储库中 您可以使用SVNLOOK检查签入的差异。 例如:

摘自pre-commit.bat

SVNLOOK diff -t "%2" "%1" | MyCustomFilter.exe
IF %ERRORLEVEL% == 0 GOTO EOJ
EXIT 1
:EOJ
EXIT 0