0

我正在用 Java 编写程序。我发现当范式技术一致时,阅读和调试代码是最容易的,这让我可以非常快速地假设问题出在哪里以及是什么问题。

正如您可能猜到的那样,这样做使我的编程速度更快,因此我想找到一种方法来执行这些规则。

例如,假设我有一个方法可以更改对象的状态并返回一个值。如果在类之外调用该方法,我不想看到它在参数括号内解析,如下所示:

 somefunction(param1, param2, object.change_and_return());

相反,我希望它像这样完成:

 int relevant_variable_name = object.change_and_return();

 somefunction(param1, param2, relevant_variable_name);

另一个例子是,我想创建一个包含某些打印方法的基类,并且我希望用户定义的所有类都从该基类派生,就像 java 所做的那样。

在我的对象中,有没有一种方法可以强迫自己(和其他任何人)遵守这些规则?IE。如果您尝试运行违反规则的代码,它将终止并返回自定义错误报告。另外,如果您编写的代码违反了规则,IDE(我使用 eclipse)会将其识别为错误,加下划线并调用相应的 javadoc?

4

1 回答 1

1

对于检查和下划线违规部分:

您可以使用 PMD,它是一个静态代码分析器。

它有一个默认规则集,您可以编写符合您需要的自定义规则。

但是,用“PMD 语言”表达您的控件似乎相当复杂。

PMD 在Eclipse Marketplace中可用。

对于不符合部分的崩溃

没有简单的方法可以做到这一点。

困难/复杂的方式可能是:

  • 在 PMD 中编写规则,在编译时运行分析,解析报告(仍然在编译时)并在违反规则时返回错误。
  • 编写一个Java 代理进行规则检查,并在违反规则时使 VM 崩溃(不确定它是否真的可行,代理是用于检测的)。
  • 在代码中的任何地方使用反射来加载类,并根据规则分析加载的类,如果违反规则则使 VM 崩溃(千万不要这样做:代码会很丑,而且规则很容易绕过)。
于 2016-03-18T13:15:01.117 回答