Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

MichaelGHSeg
Copy link
Contributor

No description provided.

@MichaelGHSeg MichaelGHSeg requested a review from wenxi-zeng April 22, 2024 21:22
@MichaelGHSeg MichaelGHSeg merged commit 057f872 into main Apr 22, 2024
@MichaelGHSeg MichaelGHSeg deleted the MichaelGHSeg/DefaultStructNPEFix branch April 22, 2024 21:35
return;
}

Settings settings = await plugin.Analytics.SettingsAsync();
Copy link
Contributor

Choose a reason for hiding this comment

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

I know this is already merged but since you already fetch
System system = await analytics.Store.CurrentState<System>();
isn't it redundant to call SettingsAsync which calls
System system = await Store.CurrentState<System>();
return system._settings;

So you can only fetch system, and then on line 173 pass through system._settings.

I don't think it will be much of a performance difference, but it will remove an extra call to Store.CurrentState, which I assume is not cached?

Copy link
Contributor

Choose a reason for hiding this comment

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

it is cached in memory, but that's a good call out! the call to SettingsAsync is redundant. we can get ride of it in the next release. thanks for pointing this out!

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I did consider it, but I like having the consolidated interface for settings retrieval. Then we have one place to change it in the future, etc. Or even just for debug breakpoints.

Copy link
Contributor

Choose a reason for hiding this comment

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

I mean, if it's cached then it's not a performance impact.
The other thing is - how likely do you think a change for fetching settings will occur?

Either way, I only see two calls to SettingsAsync, one of which is the call here and the other being a call that converts sync-to-async which is only mentioned in the Tests project.

There is no Settings-related logic here honestly, since you just fetch them "automagically" through the System struct.

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

Successfully merging this pull request may close these issues.

3 participants