SmellScan-Pro is a 🔧 tool designed to scan the code and detect the design smells or violations of design principles. It evaluates language-independent design principles using language-specific semantic evidence.
Currently we release with Angular/TypeScript support, other languages will be added in subsequent releases.
🌟 Features
SmellScan-Pro is capable of detecting the following design smells in code:
Abstraction Smells
Encapsulation Smells
Hierarchy Smells
- Broken Hierarchy 🧩
- Cyclic Hierarchy 🔁
- Deep Hierarchy 🏞️
- Multipath Hierarchy 🛤️
- Rebellious Hierarchy 🚧
- Wide Hierarchy 🌐
- Missing Hierarchy ⛓️
Modularization Smells
- Broken Modularization 🧱
- Cyclic-Dependent Modularization 🔄
- Insufficient Modularization 📊
- Hub-like Modularization 🌀
🚀 Usage
To use SmellScan-Pro after installing the extension on VS Code, follow these steps:
- Select and right-click the folder in the EXPLORER that you wish to scan. 📂
- Go to the 'Start SmellScan' group in the context menu and select the language. 🖱️
- A file named
designSmells.csvwill be generated containing the report. 📄 - For enhanced visualization, a Sunburst chart will also be generated. 🌅

🤝 Contributing
We welcome contributions, issue reports, and feature requests! 🎉
To report issues, please visit:
🆚 VS Code Compatibility
SmellScan-Pro supports VS Code version 1.88.0 or later. 🎯
🔄 Change log
Version 1.0.0
- Initial release of SmellScan-Pro with Angular/TypeScript support.
- Added support for detecting 16 design smells across 4 categories:
- Abstraction: Imperative Abstraction, Unnecessary Abstraction, Unutilized Abstraction
- Encapsulation: Deficient Encapsulation, Unexploited Encapsulation
- Hierarchy: Broken Hierarchy, Cyclic Hierarchy, Deep Hierarchy, Multipath Hierarchy, Rebellious Hierarchy, Wide Hierarchy, Missing Hierarchy
- Modularization: Broken Modularization, Cyclic-Dependent Modularization, Insufficient Modularization, Hub-like Modularization