You don't own objects.
TL;DR: don't use my as a name prefix.
Problems
Lack of context
Bijection Fault
Solutions
Remove my prefix.
Change to a role suggesting name.
Context
Several old tutorials use the word 'my' as a lazy name.
This is vague and lead to context mistakes.
Sample Code
Wrong
MainWindow myWindow = Application.Current.MainWindow as MainWindow;
Right
MainWindow salesWindow = Application.Current.MainWindow as MainWindow;
/*
Since window is instanciated, we are currently working
with a specialized window playing a special role
*/
Detection
[x] Automatic
We can tell our linters and static checkers to search for this prefix and warn us.
Tags
- Naming
Conclusion
Avoid using my. Objects change according to the usage context.
More Info
Credits
Photo by MichaΕ BoΕΌek on Unsplash
Thinking about my experience of modifying code, I see that I spend much more time reading the existing code than I do writing new code. If I want to make my code cheap, therefore, I should make it easy to read.
Kent Beck

Software Engineering Great Quotes
Maxi Contieri βββ γ» Dec 28 '20 γ» 13 min read
This article is part of the CodeSmell Series.
Top comments (0)