Code Smell 162 - Too Many Parentheses

Maxi Contieri - Sep 10 '22 - - Dev Community

Parentheses are free of charge. Aren't they?

TL;DR: Use as few parentheses as possible.

Problems

  • Readability

  • Syntactic complexity

Solutions

  1. Remove all not necessary parentheses

Context

We read code from left to right (at least in western culture).

Parentheses often break this flow, adding cognitive complexity

Sample Code

Wrong


schwarzschild = ((((2 * GRAVITATION_CONSTANT)) * mass) / ((LIGHT_SPEED ** 2)))

Enter fullscreen mode Exit fullscreen mode

Right


schwarzschild = (2 * GRAVITATION_CONSTANT * mass) / (LIGHT_SPEED ** 2)

Enter fullscreen mode Exit fullscreen mode

Detection

[X] Automatic

This is a fully automated code smell.

It is based on syntax trees.

Many tools detect it.

Exceptions

On some complex formulas, we can add extra parenthesis for terms readability.

Tags

  • Readability

  • Bloaters

Relations

Conclusion

We write code once and read it too many times.

Readability is king.

Disclaimer

Code Smells are just my opinion.

Credits

Photo by Nick Fewings on Unsplash


If someone claims to have the perfect programming language, he is either a fool or a salesman or both.

Bjarne Stroustrup


This article is part of the CodeSmell Series.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .