Add-ons are subject to in-depth quality control by SloopTools.
The Quality Gate is a separate instance of servers, which use the add-ons and lead them through various checks and tests to calculate a Quality Score at the end. This score will become an important valuation base in the store.
Currently, checks and tests of the SloopTools Standard Quality Gate are carried out for each add-on *. Later, the provider can premium checks such as. Activate unit tests or security tests. The following checks, tests and steps are included in the SloopTools Standard Quality Gate:
Each check can return a score between 0 and 100. The sum of all performed checks gives the quality score. If at least one exam reaches a score of 0, the add-on can not be published. In this case, the add-on has to be improved and uploaded again. For this, however, no new version must be created. It is possible, with the existing version, to delete the existing ZIP package and upload the improved version.
In the case that in an add-on e.g. If no panels are supplied, a score of 1 will be returned for each exam. This makes it possible to publish add-ons without scripts or panels.
*If the tests for this add-on are available. For example, the panel check is not performed on add-ons without panels and rated with score = 1.
Each of the decrypted checks creates an entry in the Quality Gate table below the progress table. Each test has special tests, these are explained in this chapter. In order to see the detailed analysis in order to derive improvements, the report / log window can be opened by double-clicking or the "Info" button of a check. The window is divided into two parts:
Here are all the details of the check shown. In addition to the results of the special exams, the score is also broken down. In order to be able to identify errors more quickly, they are unfolded in the tree. Here are the following columns:
This window is collapsed by default. Here you can view all log messages generated by the test. Debug information is not shown here.
These checks give an initial assessment of the entire folder and its files and are therefore carried out for all folder checks.
Check per folder | Good range | Reason |
---|---|---|
is Empty - without folders & files | FALSE | An empty folder makes the overview more difficult |
Count of sub directories - Number of subfolders | <= 5 | More than 5 subfolders make finding it difficult |
Count of files recursive - Number of files recursively over all subfolders | > = 0 | in empty folder structures make the clarity |
Count of files - number of files in this folder | <= 10 | More than 10 files make finding it difficult |
Additional Information |
---|
Average CCN (Cyclomatic Complexity No. McCabe-Metric) - Average complexity |
Average NLOC (No. Lines Of Code) Average number of lines of code |
CCN (Cyclomatic Complexity No. McCabe-Metric) - Sum of the complexity of all files in this folder |
NLOC (No. Lines Of Code) - Sum of all lines of code |
Check per file | Good range |
---|---|
Size - File size | 1 MB |
Extention file type | bmp, xpm, jpg, png, svg, jpeg, gif, mng, ico, wmf |
Check pro script | Good range | Reason |
---|---|---|
Is an example file - Ex. File | FALSE | Ex. Scripts (under the folder Examples) are not included in the calculation |
Is calculated - is calculated | TRUE | It can not be calculated because it eg. is encrypted. |
NLOC code lines | 4-600 | The entire script is difficult to analyze over 600 lines |
Check per function | Good range | Reason |
---|---|---|
NLOC (No. Lines Of Code) - Code Lines | 4-80 | More than 80 lines of code are difficult to understand in one function |
Count of Parameter - Transfer parameter of function | <= 10 | More than 10 parameters make a function difficult to read |
Count of lines - total lines | NA | This number compared to the lines of code suggests the comment style |
CCN (Cyclomatic Complexity No. McCabe-Metric) | <= 15 | Complexity greater than 15 makes a function difficult to analyze later |
This check is similar to the script check, but refers to the library folder.
Check per panel | Good range | Reason |
---|---|---|
Is an example file - Ex. File | FALSE | Ex. Panels (under the folder examples) are not included in the calculation |
Is calculated - is calculated | TRUE | It can not be calculated because it eg. is encrypted. |
Is encrypted - encrypted | FALSE | Encrypted panels can not be calculated and therefore no quality statement can be made |
Backup panel (.bak) - Backup panel available | FALSE | Backup Panel should be deleted before delivery |
Properties | NA | Important properties of a panel are stored in order to provide a later function (comparison with old version) |
Count of Shapes - Number of Graphic Elements | <= 100 | More than 100 elements complicate an analysis of the panel |
Count of Properties - Number of Properties | NA | |
Count of Events - Number of Events | <= 100 | More than 100 events complicate an analysis of the panel |
Check per event | Good range | Reason |
---|---|---|
Count of functions - Number of functions | 1-5 | More than 5 functions in one event are difficult to analyze |
NLOC (No. Lines Of Code) - Code Lines | 4-600 | More than 600 lines of code are difficult to survey in an event |
Check per function | Good range | Reason |
---|---|---|
NLOC (No. Lines Of Code) - Code Lines | 4-80 | More than 80 lines of code are difficult to understand in one function |
Count of Parameter - Transfer parameter of function | <= 10 | More than 10 parameters make a function difficult to read |
Count of lines - total lines | NA | This number compared to the lines of code suggests the comment style |
CCN (Cyclomatic Complexity No. McCabe-Metric) | <= 15 | Complexity greater than 15 makes a function difficult to analyze later |
The Check Overloaded Files checks if files from the product have been used in the add-on. This overloading of files is generally possible, but carries risks when upgrading the product and should therefore be carefully considered. However, there are some files that may or may be overloaded in certain cases. These exceptions were provided in the check and are therefore allowed. Allowed files are:
Check | Good range |
---|---|
Is file overloaded - Overloaded File | FALSE |
This check checks whether certain files, for SloopTools internal functions, eg. the installation completion of the add-on, are present.
Check | Good range |
---|---|
File exists - File exists | TRUE |
This check verifies that the license check has been included in the code. The provider must use the functions from the SLTLicenseCtrlExt independently and sensibly in his code. For licensing details for the add-on, please refer to License Information for Providers. Gladly we take the time to think together in which places which license function should be used.
If no license check has been installed in an add-on, this check is set to 0 and the add-on is locked before release. This is to prevent that by a mistake of the provider his add-ons without license check in the store is available. Exceptions are the following:
Check per file | Good range |
---|---|
Count of implemented license check - number of license checks | > = 1 |
In the check syntax, all syntax errors of the files are listed in the add-on. Only the files with syntax errors are listed.
Check per file | Good range |
---|---|
Syntax is valid - without syntax error | TRUE |
This check verifies that all supplied panels, scripts and libraries can be encrypted. All files are automatically encrypted for reasons of know-how protection. Automatic encryption can be prevented by details on Prevent Encryption. However, if a file is not encrypted, but this contains a license check, this creates an entry in this check. The file is still encrypted to prevent misuse.
// SLT: NO_ENCRYPT
a panel or a script can be excluded from the automatic encryption of the Quality Gate.