/solid-principles-kata

Refactoring exercise focusing on the the solid principles

Primary LanguageKotlin

Kotlin SOLID Principles

In this repository you'll find three payment gateway implementation with a bunch of code smells. They could be code you inherited from a legacy code-base. Now you want to write unit tests for them, and that is harder than it needs to be. The gateways fail to follow at least two of the SOLID principles.

✏️ Tasks

  • Start writing unit tests to cover the existing edge cases
  • Refactor the classes if needed
  • Take note of the code smells

Principles

The following table is a quick reminder about the solid principles.

Single-responsibility principle Open–closed principle Liskov substitution principle Interface segregation principle Dependency inversion principle