Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/jonarzz/refactoring-katas

Coding practice based on small projects
https://github.com/jonarzz/refactoring-katas

java kata katas refactoring tdd testing

Last synced: 9 days ago
JSON representation

Coding practice based on small projects

Awesome Lists containing this project

README

        

# Refactoring katas
![GitHub actions](https://github.com/Jonarzz/refactoring-katas/workflows/Java%20CI%20with%20Maven/badge.svg)
[![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=Jonarzz_refactoring-katas&metric=sqale_rating)](https://sonarcloud.io/dashboard?id=Jonarzz_refactoring-katas)
[![Technical Debt](https://sonarcloud.io/api/project_badges/measure?project=Jonarzz_refactoring-katas&metric=sqale_index)](https://sonarcloud.io/dashboard?id=Jonarzz_refactoring-katas)
[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=Jonarzz_refactoring-katas&metric=coverage)](https://sonarcloud.io/dashboard?id=Jonarzz_refactoring-katas)

## Done
* [Banking kata](banking-kata)
* Spock
* JMH
* incremental requirements
* concurrent processing
* abstract factory pattern
* value objects
* "event store" (single in-memory list)
* [Bowling Game kata](bowling-game)
* Cucumber (behaviour-driven development, domain exploration)
* strategy (policy) pattern
* factory method pattern
* value objects
* [Score Keeper kata](score-keeper)
* JUnit 5
* JMH
* factory method pattern
* facade pattern
* [Fizz Buzz kata](fizz-buzz)
* JMH
* 11 implementations of a simple algorithm with performance comparison
* [String Calculator kata](string-calculator)
* Spock
* incremental development (9 steps of discovering new requirements)
* the same algorithm written using object-oriented and procedural approach
* strategy (policy) pattern
* value objects
* regular expressions

## In progress
* [Unusual Spending kata](unusual-spending)

## To do
### Katas
* [Manhattan Distance kata](manhattan-distance)
* [The Lift kata](the-lift)
* [Social Network kata](social-network)

### Other
* JMH benchmark modes
* concurrency bug in `CsvAccount`