Page tree
Skip to end of metadata
Go to start of metadata

On this page

There are many perfectly normal reasons to adapt the Assessment Model. This is not a matter of saying the default configuration is wrong. This is a matter of assessment acuteness in a given context.
The ability with Magellan to highlight the violations of diagnostic-based quality indicators with the "critical contribution" option set is worth the reviewing of the selection.

General considerations

Some hints about quality indicators that are worth checking are listed below:

  • Default selection of quality rules with the "critical contribution" option set is available in the release notes. Please note that a migrated installation will not automatically benefit from this default selection: you HAVE to perform the selection.
  • Naming controls on prefixes must most of the time be adapted:

  • OO inheritance controls can be adapted to take into account resources' skill level

  • Algorithmic complexity controls can be adapted to take into account resources' skill level and application history:

 

  • Coupling controls can also be adapted to take into account resources' skill level and application history 

  • Documentation controls - and more specifically the percentage thresholds for comment ratios - can be adapted to take into account application history

 

  • Volume controls are also good candidates for adaptation to take into account application history

  and 

  • Structured controls are also good candidates for adaptation to take into account an application history

  • ...


Some hints about quality indicators that may not be applicable in all contexts are listed below:

  • "Reuse by Call Distribution" weight and thresholds may not be the same in all contexts as it is more valuable to assess components that are known to be framework components. 

Distribution specifics

For Quality Distributions:

  • CAST-delivered Quality Distributions feature multiple parameters to define the limit values that drive the distribution in Categories. Expert users can update these values to better detect quality drifts. Other users need to retain default values.

JAVA specifics

For Java technology:

  • Mutually exclusive quality indicators are to be activated / de-activated according to the customer's preferences: "Java: Avoid using Throwable.printStackTrace() outside a try catch block" versus "Java: Avoid using Throwable.printStackTrace() within a try catch block", "Java: Avoid using System.err and System.out outside a try catch block" versus "Java: Avoid using System.err and System.out within a try catch block" (Important reminder: quality indicators that require a configuration and mutually exclusive quality indicators are delivered with the active status option set to 'false' so as not to disturb the quality assessment if not properly configured) 


You need to choose the type of coding you require and de-activate the corresponding quality indicator.

J2EE, EJB and Web Service specifics

To help you in this task, here is a list of rules that you must configure for a J2EE, EJB, Web Services Job because they are depending of the source files tree and extensions:

  • Avoid defining JavaScript function directly in a Web page:parameters define the extension of files to scan
  • JSP: Avoid using Document.all JavaScript code:parameters define the extension of files to scan
  • JSP: Avoid non standard file extensions:parameters define authorized extensions
  • JSP: CSS files location in a styles directory:
  • JSP: JPG files location in an images directory:
  • JSP: JS files location in a scripts directory
  • JSP: JSP pages location in a pages directoryparameters define the directory name: it must be adapted to the customer context
  • Struts: Action Classes should only call Business Classesparameter define the package of the Business Classes WARNING: this rule is delivered "disabled"; please "enable" it after updating the parameter value
  • EJB: Avoid direct usage of EJB Entity from the clientparameter define the client package WARNING: this rule is delivered "disabled"; please "enable" it after updating the parameter value

COBOL specifics

For COBOL technology:

  • If all Mainframe analysis configurations do not take into account JCL analysis, you need to disable:
    • 'COBOL: Avoid incompatible File accesses in Cobol programs and DISP clauses in JCL'.
    • Or, if some analysis does not take into account the JCL files, you must declare exceptions for Modules generated with the results of these analyses.
  • Naming controls on prefixes need to be adapted. 


ABAP specifics

For ABAP technology:

  • Naming controls on prefixes need to be adapted. 


SQL specifics

For Transact SQL, SQL-PSM and PL/SQL technologies:

  • Naming controls on prefixes need to be adapted. 


  • No labels