SKILL Lint PASS/FAIL and IQ Algorithms
SKILL Lint uses a standard reporting mechanism that supports the following:
- Allows any program to report messages in a consistent manner to the screen and log files.
- Allows messages to be switched off.
- Prints a summary at the end.
- Gives a simple way of changing messages to a different language.
You can register different message classes—such as information, warning, and error—and specify whether generating a message of that class should cause overall failure.
In SKILL Lint, the following classes cause a failure (status FAIL):
-
error global -
error -
fatal error -
warning
A case fails if it has awarning. Even if SKILL Lint does not issue thewarningbecause the message has been switched off, it still appears in the summary scores and the status.
A case may have an IQ score of
0, but if there is nothing to cause a real failure, the overall status can still be pass.The IQ score is specific to SKILL Lint and is based on the number of each message class issued, multiplied by a factor for each different class.
The final score is the lower of the following two values:
-
Value One: The figures are totalled, divided by the number of top level forms (the number of
linereadstatements performed by SKILL Lint in parsing the files), and multiplied by 20. This figure is subtracted from 100 to give the score. The minimum score is zero. -
Value Two: There is a class called
shortListErrors, which consists only of the number oferrorclass messages. This is multiplied by 25 if you run SKILL Lint on a single file or by 10 if you run sklint across several files. The result is again subtracted from 100.
There is no cost to the IQ or pass/fail (with respect to the score) for undefined functions.
If a particular message group is turned off using
skIgnoreMessage or ?ignoresMessageList, these messages are neither printed by SKILL Lint nor counted in the final score at the end of the run.Related Topics
Return to top