{"id":20164976,"url":"https://github.com/jonarzz/refactoring-katas","last_synced_at":"2026-04-14T18:32:46.737Z","repository":{"id":41506464,"uuid":"461120120","full_name":"Jonarzz/refactoring-katas","owner":"Jonarzz","description":"Coding practice based on small projects","archived":false,"fork":false,"pushed_at":"2022-08-13T09:54:36.000Z","size":4497,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-13T14:33:08.641Z","etag":null,"topics":["java","kata","katas","refactoring","tdd","testing"],"latest_commit_sha":null,"homepage":"https://kata-log.rocks/index.html","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Jonarzz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-02-19T07:34:38.000Z","updated_at":"2024-08-24T07:35:19.000Z","dependencies_parsed_at":"2022-08-11T08:30:38.596Z","dependency_job_id":null,"html_url":"https://github.com/Jonarzz/refactoring-katas","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jonarzz%2Frefactoring-katas","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jonarzz%2Frefactoring-katas/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jonarzz%2Frefactoring-katas/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jonarzz%2Frefactoring-katas/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Jonarzz","download_url":"https://codeload.github.com/Jonarzz/refactoring-katas/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241600921,"owners_count":19988828,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["java","kata","katas","refactoring","tdd","testing"],"created_at":"2024-11-14T00:36:21.131Z","updated_at":"2025-10-28T05:35:09.845Z","avatar_url":"https://github.com/Jonarzz.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Refactoring katas\n![GitHub actions](https://github.com/Jonarzz/refactoring-katas/workflows/Java%20CI%20with%20Maven/badge.svg) \n[![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=Jonarzz_refactoring-katas\u0026metric=sqale_rating)](https://sonarcloud.io/dashboard?id=Jonarzz_refactoring-katas) \n[![Technical Debt](https://sonarcloud.io/api/project_badges/measure?project=Jonarzz_refactoring-katas\u0026metric=sqale_index)](https://sonarcloud.io/dashboard?id=Jonarzz_refactoring-katas) \n[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=Jonarzz_refactoring-katas\u0026metric=coverage)](https://sonarcloud.io/dashboard?id=Jonarzz_refactoring-katas)\n\n## Done\n* [Banking kata](banking-kata)\n  * Spock\n  * JMH\n  * incremental requirements\n  * concurrent processing\n  * abstract factory pattern\n  * value objects\n  * \"event store\" (single in-memory list)\n* [Bowling Game kata](bowling-game)\n  * Cucumber (behaviour-driven development, domain exploration)\n  * strategy (policy) pattern\n  * factory method pattern\n  * value objects\n* [Score Keeper kata](score-keeper)\n  * JUnit 5\n  * JMH\n  * factory method pattern\n  * facade pattern\n* [Fizz Buzz kata](fizz-buzz)\n  * JMH\n  * 11 implementations of a simple algorithm with performance comparison\n* [String Calculator kata](string-calculator)\n  * Spock\n  * incremental development (9 steps of discovering new requirements)\n  * the same algorithm written using object-oriented and procedural approach\n  * strategy (policy) pattern\n  * value objects\n  * regular expressions\n\n## In progress\n* [Unusual Spending kata](unusual-spending)\n\n## To do\n### Katas\n* [Manhattan Distance kata](manhattan-distance)\n* [The Lift kata](the-lift)\n* [Social Network kata](social-network)\n\n### Other\n* JMH benchmark modes\n* concurrency bug in `CsvAccount`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonarzz%2Frefactoring-katas","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjonarzz%2Frefactoring-katas","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonarzz%2Frefactoring-katas/lists"}