-
Notifications
You must be signed in to change notification settings - Fork 102
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
Update AutoClone.md #328
Conversation
Rephrase the comments to make them clearer as to what's going on.
Slightly changed the phrasing
There was a problem hiding this 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?
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 |
There was a problem hiding this comment.
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:
- The phrase “applied only” should be updated to “applied only to” for grammatical correctness.
- 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 |
There was a problem hiding this comment.
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. 🤷
There was a problem hiding this 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)
This pull request includes updates to the documentation to clarify the behavior of the
GetOrDefault
method when using theSetAutoClone
option in theFusionCache
library.Documentation improvements:
docs/AutoClone.md
: Updated comments to clarify that usingSetAutoClone(true)
returns a clone of the cached instance, and modifications affect only the clone, while not usingSetAutoClone
returns a direct reference to the cached instance, and modifications affect the cache.