Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java &引用;第一句应以句号结尾。”;_Java_Checkstyle - Fatal编程技术网

Java &引用;第一句应以句号结尾。”;

Java &引用;第一句应以句号结尾。”;,java,checkstyle,Java,Checkstyle,Java checkstyle让我困惑不解 package pmain; /** * Some text here. */ public class Main { } 这就是我所有的代码。Checkstyle在“/**”处显示“第一句应以句号结尾。” 为什么CheckStyle会产生此警告 我需要使用的checkstyle配置是否会被破坏?我做错什么了吗?“这里有些文字”不是第一句话吗?是“.”不是句号?刚刚在我的机器上测试过,实际上无法复制:我没有收到在句子末尾有点的警告。但一旦我

Java checkstyle让我困惑不解

package pmain;

/**
 * Some text here.
 */

public class Main {

}
这就是我所有的代码。Checkstyle在“/**”处显示“第一句应以句号结尾。”

为什么CheckStyle会产生此警告


我需要使用的checkstyle配置是否会被破坏?我做错什么了吗?“这里有些文字”不是第一句话吗?是“.”不是句号?

刚刚在我的机器上测试过,实际上无法复制:我没有收到在句子末尾有点的警告。但一旦我删除它(并再次运行checkstyle),规则就会正确触发,并且我会在
/**
行中得到警告

注释后面的空白行没有任何区别

再次检查点是否真的是点,而不是“看起来”像点的其他字符。并再次检查在更改文件后是否确实重新运行了checkstyle。它不会自动执行检查


也许有人玩过支票样式设置。实际上,有两个属性控制此规则:
checkfirst句子
,该属性为true或false;以及
endofmenteformat
,它是一个正则表达式,应该与句点匹配。但是如果规则集重新定义了该属性…;)

进一步阅读


    • 第一句应该以点结尾

      /**
       *An abstract class that represents an algorithm.
       *
       * @author zhangtj
       *
       * @version 1.0
      */
      

      将通过。

      薄可能是由于评论结尾后的空格或“.”引起的。

      这让我很恼火。要删除此添加,请执行以下操作:

      
      

      而且,对我来说,我完全删除了
      SummaryJavadoc
      模块

      在checkstyle.xml中关闭此检查

      见: &

      我使用两行代码来避免此警告。例如:

      /**
       * Let's call this as the first sentence,
       * here the second one.
      */
      

      您的问题与该行末尾缺少的
      有关。要解决此问题,您需要覆盖
      period
      属性。它的默认值是
      字符

      根据最新版本,建议使用此配置来删除“
      第一句应以句号结尾。
      ”警告:

      <module name="SummaryJavadoc">
          <property name="forbiddenSummaryFragments" value="^@return the *|^This method returns |^A [{]@code [a-zA-Z0-9]+[}]( is a )"/>
          <property name="period" value=""/>
      </module>
      
      新值,接受行尾的任何数字和字母:

      ([.?!:][ \t\n\r\f&lt;])|([\d\w.?!:]$)
      
      完成检查配置:

      <module name="JavadocStyle">
          <property name="scope" value="public"/>
          <property name="checkEmptyJavadoc" value="true"/>
          <property name="tokens" value="ANNOTATION_DEF, ANNOTATION_FIELD_DEF, CLASS_DEF, CTOR_DEF, ENUM_DEF, INTERFACE_DEF, METHOD_DEF, PACKAGE_DEF, VARIABLE_DEF"/>
          <property name="endOfSentenceFormat" value="([.?!:][ \t\n\r\f&lt;])|([\d\w.?!:]$)"/>
      </module>
      
      
      
      如果删除注释和类定义之间的空行,是否有区别?至少可以确认“.”是一个句号。DI刚刚尝试过,如果删除注释和类定义之间的空行,则没有任何区别。请尝试在包语句之后放置一段时间。你会得到一个编译器错误,但是checkstyle会停止吗?我也很高兴“.”仍然是一个句号。那会很尴尬。我甚至试着把这个评论变成语法正确的句子。还是没什么。还要清洁你的屏幕。有时,这个“点”是食物的一种规格。只是说,我复制粘贴了那个代码,所以不管它是什么字符,在我的问题的代码位中都是相同的字符。我还将你的第一个句号复制粘贴到我的代码中。我还重新运行了checkstyle。没什么。正如我在问题中所说的,我需要使用一个特定的checksyle配置来分配任务。我正在使用一个远程配置来引导。我已经将eclipse配置为使用相同的远程规则,但仍然什么都没有。无法复制您的样本和规则。对不起,哈哈,好的。似乎有些事情很奇怪。我要和一个懂支票风格,能摆弄我电脑的人聊聊天。谢谢你帮我弄明白这是一个“错误和疑难解答”问题,而不是一个“我在编程方面很糟糕”的问题。我确信这不是一个合适的地方来询问为什么这是一个风格建议,但那个地方在哪里?你的例子确实通过了检查,但它不是一个句子(没有动词)。我不得不想象检查的精神是强制执行它是一个句子。第一个句子显示在Javadoc类概述的方法列表中。如果一些条目以点结尾,而另一些条目则不以点结尾,这至少是很难看的。如果您明确指出,这两个条目都是删除此错误所必需的,则会更清楚。删除
      SummaryJavadoc
      不仅仅是一个首选项,它实际上是第2步消除这个句点错误所必需的。
      ([.?!:][ \t\n\r\f&lt;])|([\d\w.?!:]$)
      
      <module name="JavadocStyle">
          <property name="scope" value="public"/>
          <property name="checkEmptyJavadoc" value="true"/>
          <property name="tokens" value="ANNOTATION_DEF, ANNOTATION_FIELD_DEF, CLASS_DEF, CTOR_DEF, ENUM_DEF, INTERFACE_DEF, METHOD_DEF, PACKAGE_DEF, VARIABLE_DEF"/>
          <property name="endOfSentenceFormat" value="([.?!:][ \t\n\r\f&lt;])|([\d\w.?!:]$)"/>
      </module>