Aggressive profile
Opinionated, high controversy.
-
Level 1 Essential No-brainer, universal agreement. 63 rules (+63)
-
Level 2 Balanced Good practice, low controversy. 97 rules (+34)
-
Level 3 Strict Advanced, medium controversy. 171 rules (+74)
-
Level 4 Aggressive Opinionated, high controversy. 205 rules (+34)
-
Level 5 Extreme Merciless, includes everything. 228 rules (+23)
34 rules added by Aggressive
Aggressive also enables every rule of Essential , Balanced and Strict — 205 rules in total.
-
G-1110 Avoid connect users that own database objects.Blocker Security
-
G-1120 Avoid granting system privileges to connect users.Blocker Security
-
G-1130 Avoid granting table access to API roles.Critical Maintainability
-
G-1140 Avoid granting object privileges directly to connect users.Minor Maintainability
-
G-1150 Always limit privileges of schema owners according to principle of least privileges.Blocker Security
-
G-1220 Avoid composite primary keys.Major Maintainability
-
G-1250 Try to define a business key for each table.Major Reliability
-
G-2160 Avoid initializing variables using functions in the declaration section.Critical Reliability
-
G-2410 Try to use boolean data type for values with dual meaning.Minor Maintainability
-
G-3140 Try to use anchored records as targets for your cursors.Major Reliability
-
G-3150 Try to use identity columns for surrogate keys.Critical Reliability
-
G-3210 Always use BULK OPERATIONS (BULK COLLECT, FORALL) whenever you have to execute a DML statement for more than 4 times.Critical Reliability
-
G-3320 Try to move transactions within a non-cursor loop into procedures.Major Maintainability
-
G-4110 Always use %NOTFOUND instead of NOT %FOUND to check whether a cursor returned data.Minor Maintainability
-
G-4330 Always use a CURSOR FOR loop to process the complete cursor results unless you are using bulk operations.Major Maintainability
-
G-4340 Always use a NUMERIC FOR loop to process a dense array.Major Maintainability
-
G-4365 Never use unconditional CONTINUE or EXIT in a loop.Major Maintainability
-
G-4395 Avoid hard-coded upper or lower bound values with FOR loops.Minor Maintainability
-
G-5050 Avoid use of the RAISE_APPLICATION_ERROR built-in procedure with a hard-coded 20nnn error number or hard-coded message.Major Maintainability
-
G-5060 Avoid unhandled exceptions.Major Reliability
-
G-6010 Always use a character variable to execute dynamic SQL.Major Maintainability
-
G-6020 Try to use output bind arguments in the RETURNING INTO clause of dynamic DML statements rather than the USING clause.Minor Maintainability
-
G-7110 Try to use named notation when calling program units.Major Maintainability
-
G-7130 Always use parameters or pull in definitions rather than referencing external variables in a local program unit.Major Reliability
-
G-7180 Try to keep the complexity of functions, procedures and triggers simple.Critical Maintainability
-
G-7210 Try to keep your packages small. Include only few procedures and functions that are used in the same context.Minor Reliability
-
G-7420 Always make the RETURN statement the last statement of your function.Major Maintainability
-
G-7430 Try to use no more than one RETURN statement within a function.Major Maintainability
-
G-7730 Avoid multiple DML events per trigger.Minor Reliability
-
G-9030 Try to define a default value on conversion errors.Major Maintainability
-
A-0990 New Always name buttons in uppercase.Minor Maintainability
-
A-1060 New Try to assign applications to an application group.Minor Maintainability
-
A-1140 New Try to assign pages to a page group.Minor Maintainability
-
A-3150 New Avoid a null entry on required LOV items and Interactive Grid columns.Minor Maintainability
34 total