Built-in rule tags
Tags are a way to categorize rules and issues. Some tags are language-specific, but many more appear across languages.
Tags are a way to categorize rules and issues. Issues inherit the tags on the rules that raised them. Some tags are language-specific, but many more appear across languages. Users can add tags to rules and issues, but most rules have some tags out of the box. Here is a non-comprehensive list of what some of those built-in tags mean:
architecture: there is something questionable about the architecture of the code.
brain-overload - there is too much to keep in your head at one time
bad-practice - the code likely works as designed, but the way it was designed is widely recognized as being a bad idea.
clumsy - extra steps are used to accomplish something that could be done more clearly and concisely. (E.G. calling .toString() on a String).
confusing - will take maintainers longer to understand than is really justified by what the code actually does
convention - coding convention - typically formatting, naming, whitespace…
cwe - relates to a rule in the Common Weakness Enumeration. For more on CWE and on security-related rules in general, see the Security-related rules page.
lock-in - environment-specific features are used
pitfall - nothing is wrong yet, but something could go wrong in the future; a trap has been set for the next guy and he’ll probably fall into it and screw up the code.
suspicious - it’s not guaranteed that this is a bug, but it looks suspiciously like one. At the very least, the code should be re-examined & likely refactored for clarity.
unpredictable - the code may work fine under current conditions, but may fail erratically if conditions change.
unused - unused code, E.G. a private variable that is never used.
user-experience - there’s nothing technically wrong with your code, but it may make some or all of your users hate you.
Last updated
Was this helpful?