cover-img

Code Smell 36 - Switch/case/elseif/else/if statements

First programming lesson: Control structures. Senior developer lesson: avoid them.

18 December, 2022

3

3

0

First programming lesson: Control structures. Senior developer lesson: avoid them.

Problems

Too many decisions together

Coupling

Duplicated code

Violation of Open/Closed Principle.

A new condition should not change the main algorithm.

Nulls

Solutions

1.

Polymorphism

2.

Create hierarchies/compose objects following Open closed principle.

3.

Use State pattern to model transitions.

4.

Use Strategy Pattern/Method Object to choose for branches.

Examples

Discrete Values

State transition

Algorithm choice.

Sample Code

Wrong

Right

Detection

Since there are valid cases for If/else usages, we should not pull the plug and forbid these instructions. We can put a ratio of if statements/other statements as a warning instead.

Relations

More Info

Credits

If debugging is the process of removing software bugs, then programming must be the process of putting them in.

Edsger Dijkstra
This article is part of the CodeSmell Series.

3

3

0

Maxi Contieri

Buenos Aires, Argentina

🎓Learn something new every day.📆 💻CS software engineer 👷coding👨🏽‍🏫teaching ✍🏾writing 🎨Software Design 🏢SOLID 🌉TDD 👴Legacy 💩Code Smells

More Articles

Showwcase is a professional tech network with over 0 users from over 150 countries. We assist tech professionals in showcasing their unique skills through dedicated profiles and connect them with top global companies for career opportunities.

© Copyright 2024. Showcase Creators Inc. All rights reserved.