All Projects → JetBrains-Research → IntelliJDeodorant

JetBrains-Research / IntelliJDeodorant

Licence: MIT license
The project is not actively supported.

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to IntelliJDeodorant

SVNToolBox
Enhances IntelliJ IDEA SVN integration
Stars: ✭ 19 (-64.15%)
Mutual labels:  intellij-plugin
IdeaJol
IntellijIdea plugin for Java Object Layout (JOL) tool
Stars: ✭ 109 (+105.66%)
Mutual labels:  intellij-plugin
aem-intellij-plugin
IntelliJ Platform plugin for AEM (Adobe Experience Manager).
Stars: ✭ 26 (-50.94%)
Mutual labels:  intellij-plugin
memo
다양한 MD 메모
Stars: ✭ 87 (+64.15%)
Mutual labels:  refactoring
churn
Find refactoring candidates in your Elixir project easily with Churn 🧹
Stars: ✭ 87 (+64.15%)
Mutual labels:  refactoring
clj-extras-plugin
Clojure Extras IntelliJ Plugin
Stars: ✭ 41 (-22.64%)
Mutual labels:  intellij-plugin
getx-snippets-intelliJ
An extension to accelerate the process of developing applications with flutter, aimed at everyone using the GetX package.
Stars: ✭ 52 (-1.89%)
Mutual labels:  intellij-plugin
flextool
C++ compile-time programming (serialization, reflection, code modification, enum to string, better enum, enum to json, extend or parse language, etc.)
Stars: ✭ 32 (-39.62%)
Mutual labels:  refactoring
lottie-idea
Android Studio and IntelliJ IDEA viewer plugin for Lottie animations
Stars: ✭ 36 (-32.08%)
Mutual labels:  intellij-plugin
gradle-dependencies-plugins-helper-plugin
This is an IntelliJ IDEA plugin for searching dependencies/plugins from JCentral/GradlePlugins inside Gradle projects.
Stars: ✭ 33 (-37.74%)
Mutual labels:  intellij-plugin
intellij-firebase-highlighter
A Syntax Highlighter for Firebase Rules.
Stars: ✭ 26 (-50.94%)
Mutual labels:  intellij-plugin
reedelk-runtime
Reedelk Runtime Platform Community Edition
Stars: ✭ 25 (-52.83%)
Mutual labels:  intellij-plugin
intellij-blackconnect
IDEA plugin for using black[d] during Python development.
Stars: ✭ 55 (+3.77%)
Mutual labels:  intellij-plugin
intelliroutes
Support for Play Routes in IntelliJ IDEA
Stars: ✭ 21 (-60.38%)
Mutual labels:  intellij-plugin
pro.fessional.wings
WingsBoot=BKB+飞鞋+SpringBoot。其核心价值是:①使团队快速实现业务目标;②快速偿还技术债务;③安全的面向程序和业务重构。
Stars: ✭ 78 (+47.17%)
Mutual labels:  refactoring
refren
A language agnostic, code-style aware, refactoring/renaming tool.
Stars: ✭ 19 (-64.15%)
Mutual labels:  refactoring
intellij-quarkus
IntelliJ Quarkus Tools
Stars: ✭ 83 (+56.6%)
Mutual labels:  intellij-plugin
TranslationPlugin
Translation plugin for IntelliJ based IDEs/Android Studio/HUAWEI DevEco Studio.
Stars: ✭ 9,375 (+17588.68%)
Mutual labels:  intellij-plugin
intellij-openapi-generator
Intellij Plugin for openapi-generator
Stars: ✭ 73 (+37.74%)
Mutual labels:  intellij-plugin
awesome-programming-books
List of good programming books for beginners and professionals
Stars: ✭ 68 (+28.3%)
Mutual labels:  refactoring

IntelliJDeodorant Icon IntelliJDeodorant

JB Research CircleCI Gitter Downloads

An IntelliJ IDEA plugin that detects code smells in Java code and recommends appropriate refactorings to resolve them. All of the suggested refactorings can be carried out automatically from within the plugin.

Based on JDeodorant Eclipse plugin.

Supported code smells

The tool supports several code smells, namely Feature Envy, Type/State Checking, Long Method, and God Class.

  • Feature Envy occurs when a method uses attributes/methods of another class more than those of the enclosing class. The tool can detect such methods and suggest moving them to a more related class, i.e. perform a Move Method refactoring.

  • Type Checking relates to cases when an attribute, which determines the outcome of the program, is represented by complicated conditional statements. The tool detects such pieces of code and suggests a Replace Conditional with Polymorphism refactoring.

  • State Checking relates to cases when a set of conditional statements determine the outcome of the program by comparing the value of a variable representing the current state of an object with a set of named constants. The tool detects sets like this and suggests a Replace Type code with State/Strategy refactoring.

  • Long Method, as the name suggests, occurs when a method is too long and can be divided into several. For such methods, the tool identifies blocks of code that are responsible for calculating a variable and suggests extracting it into a separate method, i.e. perform an Extract Method refactoring.

  • God Class is a name given to a large and complex class that contains too many components. The tool identifies sets of attributes and methods in a class that could be moved into a separate class to simplify the understanding of the code, i.e. an Extract Class refactoring can be performed.

Getting started

The IntelliJDeodorant tool window will appear in IntelliJ IDEA. Each tab of this window contains a Refresh button that allows to search for the necessary code smell in the entire project and the table with the results of the search. To apply any refactoring, simply select a suggestion in the table and click the Refactor button.

Contacts

If you have any questions about the plugin or want to report any bugs, feel free to contact us using Gitter or GitHub Issues.
If you want to contribute, please create pull requests.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].