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

RiskStorming image
An educational tool to explore Risk Analysis and Quality Strategy building with the whole team.
Explore MoT
Episode Eight: Exploring Quality Engineering image
Explore the principles and practices of quality engineering
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.