Coding style 如何编写啃咬规则

Coding style 如何编写啃咬规则,coding-style,ada,gnat,Coding Style,Ada,Gnat,有没有可能写下你自己的规则,如果有,有人能给我一个好的参考?我正在搜索正在使用的特定“样式”,如果我可以简单地编写一条规则,说明如果您看到所述样式,它将抛出警告或错误,这样我们就可以在不符合特定标准时进行标记。作为参考,现有的GNAT样式检查在下面的部分中进行了描述。由于这些规则是由编译器强制执行的,因此需要对其他规则进行相应的修改 除了垃圾神的参考,我认为本PDF的第7.1节可能会有所帮助: 这里稍微了解一下背景可能会有所帮助。虽然样式检查为强制执行用户样式指导原则提供了很多承诺,但这并不是它

有没有可能写下你自己的规则,如果有,有人能给我一个好的参考?我正在搜索正在使用的特定“样式”,如果我可以简单地编写一条规则,说明如果您看到所述样式,它将抛出警告或错误,这样我们就可以在不符合特定标准时进行标记。

作为参考,现有的GNAT样式检查在下面的部分中进行了描述。由于这些规则是由编译器强制执行的,因此需要对其他规则进行相应的修改

除了垃圾神的参考,我认为本PDF的第7.1节可能会有所帮助:


这里稍微了解一下背景可能会有所帮助。虽然样式检查为强制执行用户样式指导原则提供了很多承诺,但这并不是它们的真正目的

这些检查的主要目的是在Ada编译器本身的源代码上强制执行的(维护编译器的人员)样式。您可能会注意到,如果您尝试编译编译器自己的一个源文件,检查会自动打开

如果检查本身强制执行的样式是用户可配置的,那么它根本不符合AdaCore的目的,因此他们没有添加这样的功能

如果你想自己使用它,你的第一个选择就是坚持AdaCore的编码风格。我过去没有觉得这很可怕,所以你可以看看这样做

不过,对某些人来说,实现某种可配置性将是一个非常酷的特性。如果您走这条路线,您可能必须使其可配置(以当前行为作为默认),而不仅仅是更改检查。原因是您必须修改编译器源代码才能完成此任务,正如我前面提到的,编译器在编译自身时打开检查。你真的不想重新格式化大量的Gnat编译器源文件


我真的希望有人在某个时候这样做,因为这将使检查对我们这些为AdaCore以外的人工作的人更有用。

Ah,是GNAT Pro的一部分。也是GNAT GPL 2011的一部分。我在share/doc/gnat/pdf/gnatcheck_RM.pdf的分发版中找到了RM。强烈的印象是,您只能更改检查的规则,因此如果-gnaty不支持您的检查,您将失去运气。AdaControl会有帮助吗?()和GNAT GPL 2010和2009,至少。@JasonFruit-我刚刚读了你的文章“我的两种语言”,我必须说它很好。@Shark8--谢谢!很高兴知道有人时不时地在读书!在我看来,让编译器强制执行样式检查是一个糟糕的选择(毕竟,样式是首选项);一个更好的选择是让编译器能够读入一些有效的代码,并以[user specified]合适的样式重新格式化它。@Shark8-我可以看出您来自哪里。问题是,如果一个人确实想要某种样式强制(或至少警告),那么除了最简单的情况外,其他所有情况都需要一定量的源代码解析。编译器显然很适合这样做,如果一个单独的程序没有访问编译器的代码库,那么前面会有很多工作要做。如果你使用编译器本身将源代码重新格式化为某种“标准样式”那么“单独的程序”参数是基于一个无效的假设而建立的。@T.E.D.-在公共场所是否有对AdaCore住宅风格的引用?