Skip to content

A repository for katas. Add yours and send a pull-request!

Notifications You must be signed in to change notification settings

alvarogarcia7/katas-we-love

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 

Repository files navigation

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

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


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



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


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


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


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


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


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

Tags: codingdojo-org, pacman, game, easy, bduf, sduf, design, ui, user-interface, ai, artificial-intelligence, pacman-kata

This repository contains the codebase that is subject to the refactoring.

Tags: refactoring, kata, java, java-8

Releases

No releases published

Packages

No packages published