Code Smell 195 - Yoda Conditions

Maxi ContieriMaxi Contieri
1 min read

TL;DR: In a natural way, write your conditions.

Problems

  • Readability

  • The least surprise principle violation

Solutions

  1. Write your conditions with the expected value as the second.

  2. 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

Photo by Lia on Unsplash


Any man can make mistakes, but only an idiot persists in his error.

Marcus Cicero


This article is part of the CodeSmell Series.

12
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.