In software engineering, an anti-pattern is a pattern that seems to work but is counter-productive and far from optimal in practice. An anti-pattern can easily result in unmaintainable and error-prone solutions. Usually, anti-patterns emerge over a period of time when new functionality is added incrementally without a focus on continuous refactoring. Maintenance of code by different developers over a period of time often compounds the problem.
Anti-patterns and languages supported
Here is the list of anti-patterns and the languages they are detected in:
Anti-pattern | Language |
---|---|
God Class | Java, C, C++, C#, Objective_C, Typescript |
Shotgun Surgery | Java, C, C++, C#, Objective_C, Typescript |
Feature Envy | Java, C, C++, C#, Objective_C, Typescript |
Global Hub | Java, C, C++, C#, Objective_C, Typescript |
Local Breakable | Java, C, C++, C#, Objective_C, Typescript |
Global Breakable | Java, C, C++, C#, Objective_C, Typescript |
Dispersed Coupling | Java, C, C++, C#, Objective_C, Typescript |
Brain Method | Java, C, C++, C#, Objective_C, Typescript |
Local Butterfly | Java, C, C++, C#, Objective_C, Typescript |
Intensive Coupling | Java, C, C++, C#, Objective_C, Typescript |
Brain Class | Java, C, C++, C#, Objective_C, Typescript |
Global Butterfly | Java, C, C++, C#, Objective_C, Typescript |
Solution Sprawl | C, C++, C# |
Fat Interface | Java, C, C++, C#, Objective_C, Typescript |
Message Chain | Java, C, C++, C#, Objective_C, Typescript |
Fan Out | Java, C, C++, C#, Objective_C, Typescript |
Decapsulation | C, C++ |
Unused Method | Java, C, C++, C#, Objective_C, Typescript |
Format Exposure | C, C++ |
Data Exposure | C, C++ |
Global Variable | C, C++, Python |
Test Hungry | Java, C, C++, C#, Objective_C, Typescript |
Monster File | Javascript, Python |
Nested Function | Javascript, Python |
Nested Closure | Javascript |
Promise Anomaly (Beta) | Javascript |
Markup in JS | Javascript |
Dispersed Variable Decl In Func | Javascript |
Direct Cyclic Dependency | Java, C#, Objective_C, Typescript |
File Coupling | Javascript, Python |