This page handle the issue of false violation for the Quality rule "Avoid Classes with a High Public Data Ratio"
Release | Yes/No |
---|---|
8.3.x |
RDBMS | Yes/No |
---|---|
CSS |
Step by Step scenario
- Compute snapshot
- Open CED
- Observe that the violation "Avoid Classes with a High Public Data Ratio" is a false one
Perform the below actions
Check if the number of fields and public fields is correctly computed in the KB, the 2 parameters are computed correctly if there values are equal to the values from the source code, for example, if an object from the source code have 1 public field and 1 private field then "num_fields" should be equal to 2 and "num_pub_field" should be equal to 1:
Run the below query on Knowledge Base -
SELECT num_fields, num_pub_fields FROM dssapp_classes WHERE object_id = <OBJECT8ID>
Get the OBJECT_ID from page - SQL Queries - CAST Knowledge Base - Queries on objects - How to get the ID of an object from its object name or full name
If the number of fields and public fields is not correctly computed then this is a known bug fixed in 8.3.0, for more information refer to Resolved issues in this release, If you are in a version < 8.3.0 then apply the below work around
- Install the procedure DSSAPP_SCOPE_INIT_CLASSESONLY.sql and DSSAPP_SCOPE_INIT_CPPABSTCLASSES.sql on the knowledge schema
- Compute snapshot by skipping analysis.
- Open CED
- If you are using an AIP version >=8.3.0 or if you are using an AIP version 8.1 or 8.2 and the above steps do not resolve your issue then refer to CAST Engineering Dashboard - Violations - False violation or no violation
Ticket # 10739
Specify pages indirectly related to this topic.(eg:side- effects)