Code Smell 195 - Yoda Conditions
TL;DR: In a natural way, write your conditions.
Problems
Readability
The least surprise principle violation
Solutions
Write your conditions with the expected value as the second.
Name the variables accordingly.
Context
Most programmers write the variable or condition first and the test value second.
In fact, this is the correct order for assertions.
In some languages, this style is used to avoid accidental assignment instead of equality comparison, which can result in a logic error in the code.
Sample Code
Wrong
if (42 == answerToLifeMeaning) {
//
}
Right
if (answerToLifeMeaning == 42) {
// might be mistaken with answerToLifeMeaning = 42
}
Detection
[X] Semi-Automatic
We can check for constant values on the first side of the comparison.
Tags
- Readability
Conclusion
Reliable, direct, and clear be when conditions your writing.
Relations
Disclaimer
Code Smells are just my opinion.
Credits
Any man can make mistakes, but only an idiot persists in his error.
Marcus Cicero
This article is part of the CodeSmell Series.
Subscribe to my newsletter
Read articles from Maxi Contieri directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
Maxi Contieri
Maxi Contieri
I’m a senior software engineer loving clean code, and declarative designs. S.O.L.I.D. and agile methodologies fan.