From fd3c53da9b7f9409d3380f4596fa7085b3e6407d Mon Sep 17 00:00:00 2001 From: Joe Farebrother Date: Wed, 13 Oct 2021 14:47:41 +0100 Subject: [PATCH] Add query for class docs that don't start with an article. Returns quite a few results, many of which seem to be TPs. --- ql/src/queries/style/docs/ClassDocs.ql | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 ql/src/queries/style/docs/ClassDocs.ql diff --git a/ql/src/queries/style/docs/ClassDocs.ql b/ql/src/queries/style/docs/ClassDocs.ql new file mode 100644 index 00000000000..5e335da7109 --- /dev/null +++ b/ql/src/queries/style/docs/ClassDocs.ql @@ -0,0 +1,26 @@ +/** + * @name Class QLDoc style. + * @description The QLDoc for a class should start with "A", "An", or "The". + * @kind problem + * @problem.severity warning + * @id ql/class-doc-style + * @tags maintainability + * @precision very-high + */ + +import ql + +bindingset[s] +predicate badStyle(string s) { + not s.replaceAll("/**", "") + .replaceAll("*", "") + .splitAt("\n") + .trim() + .matches(["A %", "An %", "The %"]) +} + +from Class c +where + badStyle(c.getQLDoc().getContents()) and + not c.isPrivate() +select c.getQLDoc(), "The QLDoc for a class should start with 'A', 'An', or 'The'."