Welcome to the Anti-Pattern Analysis in Code Bases project!
This project aims to provide tools and methodologies for identifying and addressing common anti-patterns in software development. By analyzing code bases, we aim to catch potential deadlocks, performance issues, and unnecessary code snippets that can impede maintainability, scalability, and overall software quality.
Clone the repository:
git clone https://github.com/DigitalProductInnovationAndDevelopment/Anti-Pattern-Analysis.git
Navigate to the project directory:
cd Anti-Pattern-Analysis
Install dependencies:
mvn install
Navigate to the plugin directory:
cd plugin
Add the created plugin to your IDE following IntelliJ documentation
(Optional) Generate monitoring(or sampling) data for dynamic analysis Sampling documentation
Open the plugin tab and provide the config
projectDirectory: Directory of the project to be analysed, retrieved automatically by the plugin
thirdPartyMethodPaths: Array of directory paths that contain 3rd party method calls such as DB interactions or HTTP Requests
exclusions(optional): The packages, classes or methods that shall be excluded while doing the analysis, supports pattern matching
snapshotCsvFilePath(optional): Path to the .csv file containing monitoring(or sampling) data. This data is used to run the dynamic analysis. Dynamic analysis step is skipped if this is not provided
methodExecutionThresholdMs: The threshold value in milliseconds. Used during dynamic analysis to determine if the execution time of a method is taking too long
Run the analysis
tool
branchplugin
branchfeature/fehmi-tool-new-detector
or bugfix/name-plugin-ui-crash
Follow the Conventional Commits specification to aid in automatic changelog generation and versioning.
GitHub Actions will automatically run on your PR, checking build status, tests, and generating coverage reports. Review the CI/CD output in your PR before merging.