Eliminating Code Smells

Christian Baumann's profile
Christian Baumann

Principal Software Tester

Challenge Description

To eliminate a code smell, you first need to identify that there is a smell, then you need to come up with a way to safely remove that smell. However, removing code smells can have many advantages, such as making your code base cleaner and thus easier to read and maintain.

Instructions:

Identify code smells

Have a look at the provided code examples (or pick some code that you or your team has created) and identify anything that you think is a code smell. Also think about why your finding is a code smell.

Eliminate code smells

Eliminate the found code smells by applying proper programming principles, maybe by introducing meaningful names for variables or removing duplication.

Also think about:

  • Advantages & disadvantages of your solution

  • How to ensure you didn’t introduce any bugs or other code smells?

Wrap-up:

Removing code smells is a good way to improve the code base in many ways. It speeds up development, decreases the risk of bugs & failures as well as technical debt. Also, it makes it easier to maintain the application in the future, by any programmer, including yourself.

What you’ll learn
  • Follow good programming techniques & implement good design
  • Decrease the risk of future bugs & failures
  • Reduce the risk of technical debt

Prerequisites

Example code that can be used in this activity can be found at https://christianbaumann.dev/workshops/2022-testbashuk-workshop-codesmells-101/

Resources

AI that finds every edge case for you image
Transform your inputs into a ready-to-run test suite. Test both web UIs and backend APIs in minutes with KushoAI.
Explore MoT
TestBash Brighton 2025 image
Wed, 1 Oct
On the 1st & 2nd of October, 2025 we'll be back to Brighton for another TestBash: the largest software testing conference in the UK
MoT Advanced Certificate in Test Automation
Ascend to leadership roles by mastering strategic skills in automation strategy creation, planning and execution
This Week in Testing
Debrief the week in Testing via a community radio show hosted by Simon Tomes and members of the community
Subscribe to our newsletter
We'll keep you up to date on all the testing trends.