cover-img

Code Smell 31 - Accidental Methods on Business Objects

Adding persistence, serialization, displaying, importing, exporting code to an object bloats its protocol and brings coupling.

28 November, 2022

6

6

0

Adding persistence, serialization, displaying, importing, exporting code to an object bloats its protocol and brings coupling.

Problems

Readability

Coupling

Maintainability

Solutions

1.

Keep your objects clean.

2.

Decouple business objects.

3.

Separate accidental concerns: Move Persistence, Formatting, Serialization to special objects.

4.

Keep essential protocol using bijection.

Examples

Persistence

Identifiers

Serialization

Formatting

Sample Code

Wrong

Right

Detection

It is difficult (but not impossible) to create linting rules based on naming and hinting for suspect names.

Exceptions

Some frameworks force us to inject dirty code in our objects. (For example identifiers).
We should try to use better languages/frameworks.

Tags

Declarative

Conclusion

We are very used to see business objects polluted. This is normal. We need to reflect on the consequences and coupling from these designs.

Credits

Photo by Robert Bye on Unsplash

Simple things should be simple, complex things should be possible.

Alan Kay
This article is part of the CodeSmell Series.

6

6

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.