Skip to content
This repository has been archived by the owner on Dec 8, 2022. It is now read-only.

Refactor Internal Setter smell in BaseActivity class #768

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

emaiannone
Copy link

Hi, I'm Emanuele Iannone, a master student at University of Salerno.
Since my bachelor's thesis I have been working on a code smell refactoring plugin called aDoctor, which is able to identify and fix energy-related problems in Android apps.
I launched it on your project, finding different instances of code smells. I chose one of them and let the plugin automatically fix it.
In this case I chose Internal Setter, that is present when non static method calls a setter method of an instance variable instead of directly changing its value. These kind of smell may have a non trivial impact on energy consumption, as shown in this paper: https://www.sciencedirect.com/science/article/pii/S0950584918301678.
Besides, this kind of refactoring does not impact on the functionalities of your app, so it is totally safe. Let me know if you are interested in this refactoring proposal.

@@ -99,7 +99,7 @@ public void startActivity(Class<?> clazz, boolean disableAnimation, boolean skip
intent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
}
if (skipDataReload) {
setSkipMainReload(true);
this.skipMainReload = true;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

actually this. isn't needed

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @AndyScherzinger and thank you for your reply. I only applied a single example of MIM, I know that there might be some other instances, but I didn't want to apply too many changes at once.
Yes, whenever all references of setter are remove even the method itself could be remove, but currently aDoctor doesn't support this feature.

@AndyScherzinger
Copy link
Member

AndyScherzinger commented Mar 3, 2020

Hi @emaiannone,

thanks for taking an interest in Andlytics. I posted some comments to your code change.
Also beware that this project isn't actively maintained anymore!

Cheers,
Andy

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants