Module:Sandbox/Aidan9382/CodeAnalysis/doc: Difference between revisions
changes |
dont generate a category for this |
||
Line 1: | Line 1: | ||
{{Module rating|beta}} |
{{Module rating|beta|nocat=true}} |
||
This function provides basic analysis of module code, pointing out any unused variables or unexpected globals. Note that just because this module points out certain behaviour does not neccessarily mean the behaviour is wrong nor needs correcting, but is rather a guide. |
This function provides basic analysis of module code, pointing out any unused variables or unexpected globals. Note that just because this module points out certain behaviour does not neccessarily mean the behaviour is wrong nor needs correcting, but is rather a guide. |
Latest revision as of 07:37, 30 October 2023
This function provides basic analysis of module code, pointing out any unused variables or unexpected globals. Note that just because this module points out certain behaviour does not neccessarily mean the behaviour is wrong nor needs correcting, but is rather a guide.
The code of this is mostly lifted from https://github.com/9382/Dump/tree/main/LuaObfuscator, which in turn lifts a lot of code from https://github.com/stravant/LuaMinify.
Usage
[edit]This module can be required and used from the Debug console, like the following: require("Module:Sandbox/Aidan9382/CodeAnalysis").run()
. The module will then log any behaviour it notices. The function can be provided a string argument to specify a target page other than the current page.
This module can also be used via templates using #invoke:
, like the following: {{#invoke:Sandbox/Aidan9382/CodeAnalysis|main}}
. The module will then produce a wikitable of anything it notes within the code. An argument can be provided to the first positional parameter to specify a certain page to analyse.
Examples
[edit]Basic code analysis for Module:Sandbox/Aidan9382/CodeAnalysis | |
---|---|
Scope | Message |
Scope starting line 124 | i is defined but never referenced
|
Entire script | 9 local variables called _ were defined but never referenced, likely intentionally
|
Entire script | Global variable print was referenced or defined, yet isn't a standard global
|
Basic code analysis for Module:Wikitext Parsing | |
---|---|
Scope | Message |
Main scope | startswith is defined but never referenced
|
Scope starting line 404 | Variable _ is referenced, despite the name implying it is unused
|
Entire script | 3 local variables called _ were defined but never referenced, likely intentionally
|
Basic code analysis for Module:Banner shell | |
---|---|
Scope | Message |
Entire script | 1 local variable called _ was defined but never referenced, likely intentionally
|