Seq nr | Name | Goal | Type | Data source | Last update▼ | License | ... |
---|---|---|---|---|---|---|---|
81 | Perhaps 0 instead of o | Find the names of database objects where 0 sign is perhaps used instead of o. | Problem detection | INFORMATION_SCHEMA+system catalog base tables | 2024-12-21 16:25 | MIT License | |
82 | Inconsistent names of database objects that are used to manage the state of main objects in the database | "Names in software are 90 percent of what make software readable. You need to take the time to choose them wisely and keep them relevant. Names are too important to treat carelessly. Names should not cause confusion." (Robert C. Martin, Clean Code) The naming must be consistent. One should avoid mixing synonyms like "seisund", "staatus", and "olek" in Estonian or "state" and "status" in English and stick with one term. For instance, it is a bad practice to use word "state" in table names but word "status" in function names. | Problem detection | INFORMATION_SCHEMA+system catalog base tables | 2024-12-21 16:24 | MIT License | |
83 | Perhaps is not snake_case - id, code, key, or nr is not followed by an underscore | Find names that perhaps do not use the snake_case naming style because the name starts with the phrase "id", "uuid", "code" , "kood", "key", or "nr" that is not followed by an underscore. Prefer snake_case over PascalCase and camelCase in names. | Problem detection | INFORMATION_SCHEMA+system catalog base tables | 2024-12-21 16:23 | MIT License | |
84 | The same name is used in different contexsts | Find the names that are used in case of different types of elements | Problem detection | INFORMATION_SCHEMA+system catalog base tables | 2024-12-21 16:23 | MIT License | |
85 | Prefixes in the names of database objects | Find for different types of database objects all the prefixes that are used in different names. One should be consistent in naming, including in the use of prefixes. If you use prefix in the name of a database object, then it could refer to the type of the database object. Do not use different prefixes in the names of database objects that have the same type. | General | INFORMATION_SCHEMA+system catalog base tables | 2024-12-21 16:22 | MIT License | |
86 | Perhaps too many different prefixes in the names of database objects that have the same type | One should be consistent in naming, including in the use of prefixes. If you use prefix in the name of a database object, then it should refer to the type of the database object. Do not use different prefixes in the names of database objects that have the same type. Find types of database objects in case of which there are different prefixes in different names. | Problem detection | INFORMATION_SCHEMA+system catalog base tables | 2024-12-21 16:20 | MIT License | |
87 | Perhaps is not snake_case - Boolean-indicating prefix without underscore | Find names of types, domains, columns, and parameters that perhaps do not use the snake_case naming style because the name starts with "is", "has", or "on" that is not followed by an underscore. Prefer snake_case over PascalCase and camelCase in names. | Problem detection | INFORMATION_SCHEMA+system catalog base tables | 2024-12-21 15:44 | MIT License | |
88 | Too many slashes in regular expressions | Find patterns of regular expressions where more than \ is written instead of \, e.g., \\s is used instead of \s to refer to a character class. | Problem detection | INFORMATION_SCHEMA+system catalog base tables | 2024-12-21 11:15 | MIT License | |
89 | Perhaps too many input parameters | Too many parameters (in this case four or more) could be a sign of not separating concerns and having a routine that has more than one task. | Problem detection | INFORMATION_SCHEMA+system catalog base tables | 2024-12-19 15:07 | MIT License | |
90 | Flag parameters | A Boolean parameter may be used to determine what task to fulfill. In this case the routine has multiple tasks and does not satisfy the separation of concerns principle. | Problem detection | INFORMATION_SCHEMA+system catalog base tables | 2024-12-19 11:03 | MIT License | |
91 | Routines with type casting | Make sure that your parameters have appropriate types in order to avoid unnecessary type casting. | General | INFORMATION_SCHEMA+system catalog base tables | 2024-12-19 11:02 | MIT License | |
92 | User-defined non-trigger SQL and PL/pgSQL routines | Find the non-trigger SQL and PL/pgSQL routines in non-systemic schemas. | General | INFORMATION_SCHEMA+system catalog base tables | 2024-12-19 10:54 | MIT License | |
93 | Consistency of comments of routines | Find user-defined routines that have a comment registered by the COMMENT statement and a comment within the routine body. Make sure that there are no inconsistencies between the comments. | General | INFORMATION_SCHEMA+system catalog base tables | 2024-12-19 10:53 | MIT License | |
94 | Perhaps searching based on a name instead of a code | Find derived tables with a search condition that is possible based on a name instead of a code. | Problem detection | INFORMATION_SCHEMA+system catalog base tables | 2024-12-18 11:52 | MIT License | |
95 | Columns for registration and update times | Find base table columns that based on the names and data types are meant for registering registration time or update time. Make sure that the columns have the same properties. | General | INFORMATION_SCHEMA only | 2024-12-18 11:47 | MIT License | |
96 | Sequence generators not needed | Find possible classifier tables that have a column with a sequence generator. Such tables should have natural keys instead of surrogate keys. | Problem detection | INFORMATION_SCHEMA+system catalog base tables | 2024-12-18 10:00 | MIT License | |
97 | Unnecessary use of gist index type in case of an exclude constraint | Find exclude constraints that are based on the gist index type although the default b-tree index type would have been enough. | Problem detection | system catalog base tables only | 2024-12-16 13:45 | MIT License | |
98 | ROW level BEFORE triggers that do not return a row if a check succeeds | Find ROW level BEFORE triggers that check a condition based on other rows, raise an exception but do not return the row if the condition check succeeds, i.e., exception is not raised. | Problem detection | INFORMATION_SCHEMA+system catalog base tables | 2024-12-16 12:41 | MIT License | |
99 | Some data modification functions return a value and some not | Find as to whether there are data modification routines that return a value as well as data modification routines that do not return a value. | Problem detection | INFORMATION_SCHEMA+system catalog base tables | 2024-12-16 00:02 | MIT License | |
100 | Base table columns with the type VARCHAR(1) | The choice of data types should reveal as much as possible about the nature of the data in the column. The type of these columns could be CHAR(1) and they should have a constraint that a value in the column cannot be an empty string. | Problem detection | INFORMATION_SCHEMA only | 2024-12-14 13:41 | MIT License |