How are values with dual meaning identified?

When you are using only “Y” and “N” values for a PL/SQL variable, PL/SQL Cop produces the following message: “Guideline 24 : Try to use boolean data type for values with dual meaning.”. But if you are using other values such as “Da” and “Net”, you do not get such a message. PL/SQL Cop tries to minimize the number of false positives, which results sometimes in false negatives. Consider a variable containing a value for sex. Valid values are “male” and “female”. Even if this is a variable with dual meaning you do not want to represent the sex variable as a boolean type. So PL/SQL Cop checks if exactly two of the following values are stored in a variable:

“TRUE”, “FALSE”, “T”, “F”, “0”, “1”, “2”, “YES”, “NO”“Y”, “N”, “JA”, “NEIN”, “J”, “SI”, “S”, “OUI”, “NON”, “O”“L_TRUE”, “L_FALSE”, “CO_TRUE”, “CO_FALSE”

If other values are detected the message “Guideline 24 : Try to use boolean data type for values with dual meaning.” will not be shown.