Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update AutoClone.md #328

Merged
merged 3 commits into from
Dec 13, 2024
Merged

Update AutoClone.md #328

merged 3 commits into from
Dec 13, 2024

Conversation

oasaleh
Copy link
Contributor

@oasaleh oasaleh commented Nov 1, 2024

This pull request includes updates to the documentation to clarify the behavior of the GetOrDefault method when using the SetAutoClone option in the FusionCache library.

Documentation improvements:

  • docs/AutoClone.md: Updated comments to clarify that using SetAutoClone(true) returns a clone of the cached instance, and modifications affect only the clone, while not using SetAutoClone returns a direct reference to the cached instance, and modifications affect the cache.

oasaleh and others added 2 commits November 1, 2024 15:57
Rephrase the comments to make them clearer as to what's going on.
Slightly changed the phrasing
Copy link
Collaborator

@jodydonetti jodydonetti left a comment

Choose a reason for hiding this comment

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

Sorry for the delay.
I liked your changes, they made it more clear. I also made a couple of minor adjustements.

LGTM, what do you think?

@jodydonetti jodydonetti added the documentation Improvements or additions to documentation label Nov 27, 2024
@jodydonetti jodydonetti modified the milestone: v2.0.0 Nov 27, 2024
var person1 = cache.GetOrDefault<Person>("foo", options => options.SetAutoClone(true));
Console.WriteLine($"person1: {person1.Name}");
Console.WriteLine();

// RETURNS A CLONE OF CACHED INSTANCE (MODIFICATIONS AFFECT ONLY THE CLONE)
// RETURNS A CLONE OF THE CACHED INSTANCE: CHANGES APPLIED ONLY THE CLONE, CACHED INSTANCE REMAINS UNCHANGED
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 noticed a couple of points regarding this comment:

  1. The phrase “applied only” should be updated to “applied only to” for grammatical correctness.
  2. The comment feels slightly verbose, which makes it less clear. For example, the term “clone” is used without pairing it with “instance”. Using “cloned instance” would improve clarity and consistency. I think reverting it back to (MODIFICATIONS AFFECT ONLY THE CLONE) would be ideal. However, this version could also work:
    // RETURNS A CLONED INSTANCE OF THE CACHED OBJECT: CHANGES ARE APPLIED ONLY TO THE CLONED INSTANCE, LEAVING THE CACHED INSTANCE UNMODIFIED

var person2 = cache.GetOrDefault<Person>("foo", options => options.SetAutoClone(true));
person2.Name = "Jane";
Console.WriteLine($"person1: {person1.Name}");
Console.WriteLine($"person2: {person2.Name}");
Console.WriteLine();

// RETURNS DIRECT REFERENCE TO CACHED INSTANCE (MODIFICATIONS AFFECT THE CACHE)
// RETURNS DIRECT REFERENCE TO THE CACHED INSTANCE: CHANGES APPLIED TO THE CACHED INSTANCE ITSELF
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Same as the comment above. Also, it's missing the verb "are" in "Changes are applied to", which makes it verbose. 🤷

Copy link
Collaborator

@jodydonetti jodydonetti left a comment

Choose a reason for hiding this comment

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

LGTM

(sorry for the delay, got carried away by the latest preview for the big v2 getting out soon)

@jodydonetti jodydonetti merged commit 1a284c7 into ZiggyCreatures:main Dec 13, 2024
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants