-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Expand file tree
/
Copy pathBadParamTag.ql
More file actions
27 lines (25 loc) · 912 Bytes
/
BadParamTag.ql
File metadata and controls
27 lines (25 loc) · 912 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/**
* @name Bad param tag
* @description A 'param' tag that does not include a name is confusing since it is unclear which
* parameter it is meant to document. A 'param' tag that does not include a
* description is useless and should be removed.
* @kind problem
* @problem.severity recommendation
* @id js/jsdoc/malformed-param-tag
* @tags maintainability
* readability
* documentation
* @precision low
*/
import javascript
from JSDocParamTag parm, string missing
where
// JSDoc comments in externs files are not necessarily meant for human readers, so don't complain
not parm.getFile().getATopLevel().isExterns() and
(
not exists(parm.getName()) and missing = "name"
or
(not exists(parm.getDescription()) or parm.getDescription().regexpMatch("\\s*")) and
missing = "description"
)
select parm, "@param tag is missing " + missing + "."