mirror of
https://github.com/github/codeql.git
synced 2026-05-05 21:55:19 +02:00
QL code and tests for C#/C++/JavaScript.
This commit is contained in:
20
javascript/ql/src/Declarations/TooManyParameters.ql
Normal file
20
javascript/ql/src/Declarations/TooManyParameters.ql
Normal file
@@ -0,0 +1,20 @@
|
||||
/**
|
||||
* @name Function with too many parameters
|
||||
* @description Functions with many parameters are hard to read and hard to use.
|
||||
* @kind problem
|
||||
* @problem.severity recommendation
|
||||
* @id js/too-many-parameters
|
||||
* @tags testability
|
||||
* readability
|
||||
* @precision high
|
||||
*/
|
||||
|
||||
import javascript
|
||||
import semmle.javascript.RestrictedLocations
|
||||
|
||||
from Function f
|
||||
where not f.inExternsFile() and
|
||||
f.getNumParameter() > 7 and
|
||||
// exclude AMD modules
|
||||
not exists (AMDModuleDefinition m | f = m.getFactoryNode().(DataFlow::FunctionNode).getAstNode())
|
||||
select (FirstLineOf)f, capitalize(f.describe()) + " has too many parameters (" + f.getNumParameter() + ")."
|
||||
Reference in New Issue
Block a user