https://github.com/alvarogarcia7/katas-we-love
A repository for katas. Add yours and send a pull-request!
https://github.com/alvarogarcia7/katas-we-love
deliberate-practice kata kata-collection katas-collection katas-we-love papers-we-love repository
Last synced: 3 months ago
JSON representation
A repository for katas. Add yours and send a pull-request!
- Host: GitHub
- URL: https://github.com/alvarogarcia7/katas-we-love
- Owner: alvarogarcia7
- Created: 2017-07-08T15:54:41.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2017-10-04T09:25:51.000Z (over 7 years ago)
- Last Synced: 2025-01-10T22:49:43.634Z (5 months ago)
- Topics: deliberate-practice, kata, kata-collection, katas-collection, katas-we-love, papers-we-love, repository
- Homepage:
- Size: 10.7 KB
- Stars: 14
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Katas we love
This repository is a mix of Papers We Love and katas: a place where to store katas for future reference.
## How-To
* Create a new header (h3 - `###`) with the title.
* Create a human-readable description as the body of the element
* Create a `Tags` element specifying any information about the kata, in machine readable form:
* comma-separated tags
* all lowercase
* prefer using nouns (rather than verbs)
* Suggestion:
* include the topic
* the author
* what to learn
* what to practice
* the programming language
* the size of the exercise
* and anything else that comes to your mind## Contents
### [Legacy code katas](http://www.devjoy.com/2013/01/legacy-code-katas/)
Take a legacy codebase and refactor to separate the concerns.
The code is small enough to be understood at once, but big enough to add validation, input and output, side effects.
Plus:
* Use only automatic refactorings until you have broken the dependencies
Tags: legacy-code, richard-dalton, c-sharp, automatic-refactoring, one-day, dependency-breaking-technique, any-language
### [aptera/effectively](https://github.com/aptera/effectively)
> These kata illustrate some techinques we can use to stabilize legacy code—the code that works, DON'T TOUCH IT.
Tags: legacy-code, extract-and-override, static-cling, sprout-method, interface-indirection, john-fazzaro, warren-barnes, j-d-gomes, dependency-breaking-technique
### [Agile Software Development In Practice](https://github.com/bkimminich/AgileSoftwareDevelopmentInPractice)
### [Numerology](https://github.com/Gianfrancoalongi/incremental_katas/tree/master/Numerology)
An incremental kata to replace some numbers with others, following some rules.
This kata is ideal to practice Rules and Rule Engine
Tags: incremental-kata, rule, business-rule, gianfranco-alongi, number, algorithm, business-code
### [Tell don't ask kata](https://github.com/gabrieletondi/tell-dont-ask-kata)
A refactoring kata with nearly perfect code coverage in which the feature envy smell is very strong. Almost all behavior is separated from its data and the domain is anemic.
Tags: refactoring, gabriele-tondi, tell-dont-ask, design-principle, solid, value-object, object-orientation, oop, feature-envy, code-smell, anemic-domain
### [Video Store](http://blog.symprise.net/2009/01/14/revisiting-fowlers-video-store-01-object-oriented-syntax/)
A classic legacy-code kata by Martin Fowler.
A 1/2 to 1 day exercise
Tags: refactoring, martin-fowler, classic, video-store, solid, code-smell, object-orientation, oop, half-day, one-day
### [Gilded Rose](https://github.com/emilybache/GildedRose-Refactoring-Kata/)
A legacy-code kata by Emily Bache.
The purpose is to add a new feature to a legacy code, with the [optional] restrictions of not changing some elements in the classes.
Tags: legacy-code, emily-bache, github, example, constraint, restriction, c, groovy, java, spock, kotlin, r, smalltalk, typescript, abap, c99, clisp, cpp, csharp, dart, elixir, fsharp, go, haskell, js, perl, perl6, php, plsql, python, ruby, rust, scala, swift
### [Greeting kata](https://github.com/testdouble/contributing-tests/wiki/Greeting-Kata)
A greenfield kata to practice specialization and some business rules.
The purpose is to build a new system that can greet differently based on the input.
> This Kata is designed to help practice what a test of a pure function ought to look like. It is intentionally designed to start with a very easy, non-branching base case which slowly becomes addled with complexity as additional requirements are added that will require significant branching and eventually a pressure to compose additional units.
>
> This Kata was suggested by Nick Gauthier and inspired a bit by Bob from Exercism.
>
> This Kata is designed to be used with Detroit-school TDD.Tags: nick-gauthier, bob, exercism, detroit-school-tdd, outside-in, pure-function, greeting-kata, business-rule
### [Pacman kata](http://codingdojo.org/kata/PacMan/)
A kata for creating a PacMan game.
The purpose is to balance the big design upfront (BDUF) with the small design upfront, finding exactly the amount of design to be effective.
Originally by [William Van Den Ende](http://codingdojo.org/people/WillemVanDenEnde/)
Tags: codingdojo-org, pacman, game, easy, bduf, sduf, design, ui, user-interface, ai, artificial-intelligence, pacman-kata
### https://github.com/wlodekkr/tests-refactoring
> This repository contains the codebase that is subject to the refactoring.
Tags: refactoring, kata, java, java-8