G-4210: Try to use CASE rather than an IF statement with multiple ELSIF paths.
Major
Maintainability, Testability
Reason
IF statements containing multiple ELSIF tend to become complex quickly.
Example (bad)
DECLARE
   l_color VARCHAR2(7 CHAR);
BEGIN
   IF l_color = constants_up.co_red THEN
      my_package.do_red();
   ELSIF l_color = constants_up.co_blue THEN
      my_package.do_blue();
   ELSIF l_color = constants_up.co_black THEN
      my_package.do_black();
   END IF;
END;
/
Example (good)
DECLARE
   l_color types_up.color_code_type;
BEGIN
   CASE l_color
      WHEN constants_up.co_red   THEN 
         my_package.do_red();
      WHEN constants_up.co_blue  THEN 
         my_package.do_blue();
      WHEN constants_up.co_black THEN 
         my_package.do_black();
      ELSE NULL;
   END CASE;
END;
/