DEV Community

Cover image for Code Smell 96 - My Objects
Maxi Contieri
Maxi Contieri

Posted on • Originally published at maximilianocontieri.com

3 1

Code Smell 96 - My Objects

You don't own objects.

TL;DR: don't use my as a name prefix.

Problems

  • Lack of context

  • Bijection Fault

Solutions

  1. Remove my prefix.

  2. 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;
Enter fullscreen mode Exit fullscreen mode

Right

MainWindow salesWindow = Application.Current.MainWindow as MainWindow;

/*

Since window is instanciated, we are currently working
with a specialized window playing a special role

*/
Enter fullscreen mode Exit fullscreen mode

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


This article is part of the CodeSmell Series.

Warp.dev image

Warp is the #1 coding agent.

Warp outperforms every other coding agent on the market, and gives you full control over which model you use. Get started now for free, or upgrade and unlock 2.5x AI credits on Warp's paid plans.

Download Warp

Top comments (0)

MongoDB Atlas runs apps anywhere. Try it now.

MongoDB Atlas runs apps anywhere. Try it now.

MongoDB Atlas lets you build and run modern apps anywhere—across AWS, Azure, and Google Cloud. With availability in 115+ regions, deploy near users, meet compliance, and scale confidently worldwide.

Start Free