Skip to content

arthurlbrjc/Kata-List

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kata-List

Nom Langage Durée From scratch ? Tests existants ? Solution ? Apprentissages Cas d'utilisation (ex : recrutement n1, formation TDD02, etc) Mises à jour nécessaires ?
Elo Chart < 3 hours oui non non Trouver une bonne liste de tests pour implémenter la formule
Tennis Game < 3 hours oui non non voir repo EmilyBache pour setup ?
Game Of Life < 3 hours oui non non
Online Shopping < 1 day oui non non
Archi Clean Java 3 hours non oui non Refactoring API de GameOfLife Java 8
Archi Clean Php 3 hours non oui non Refactoring API de GameOfLife ?
Archi Clean Python 3 hours non oui non Refactoring API de GameOfLife -
Puissance 4 > 1 jour oui non à retrouver TDD01
Kata Bank Live code en outside-in de Sandro Mancuso TDD01
Gilded rose 3 hours non oui Live code FLA Pose de tests de caractérisation (boîte noire) TDD02
Trip service 3 hours Live code Sandro Mancuso Dépendances TDD02
Trivia > 1 jour TDD02
Mars Rover 1 jour oui non oui Problématique d’extensibilité du code TDD03
Risk Game Of Thrones > 1 jour oui non non POO, Data structures
Salle de sport 3 hours
Kuzco 1 jour oui non oui
kata-theater oui oui non
Transitive Dependencies oui non non Data structures
Bowling 3 hours cf CTH
CQRS and Event Sourcing Koans
Roman Numerals
URL Bar Runner

Starters-list

Langage Lien
Java TODO
Javascript TODO
Python TODO

Idées de contraintes

  • Limite à 1 sur les niveaux d'indentations
  • Pas de else
  • Single return statement
  • Pas de if
  • Pas de switch
  • Une seule méthode par classe
  • Immutabilité
  • Respecter la loi de Déméter
  • Pas de type primitifs
  • Pas de getters/setters
  • Maximum deux attributs par classe
  • Maximum 50 lignes de code par fichier
  • Que des fonctions, pas de classe
  • TCR
  • Baby steps : revert toutes les 2 minutes si les tests ne sont pas verts
  • Pas d'exceptions comme valeur de retour
  • Pas de variables globales
  • Pas de valeurs de retour
  • Pas de debugger ni "printf"
  • Mute ping-pong si en pair
  • Pas de boucles. Récursif, map, stream
  • Que des exceptions

Sources

Contributing

Pour enrichir la liste, les règles sont les suivantes :

  • un repo = un kata dans un seul langage
  • un README pour :
    • présenter le kata
    • objectif(s) pédagogique(s) du kata (pour faciliter la préparation d'une formation, d'un recrutement, etc)
    • expliquer le setup
  • optionnel : une branche solution avec des pistes de résolution, un step-by-step, ou plusieurs commits pour montrer les étapes de résolution du kata, etc

TODO

  • Lister les apprentissages
  • Extraire les 3 langages principaux pour les katas qui les ont déjà
  • Mettre à jour les versions des katas existants si besoin (exemple : PR sur les repos existants)
  • Remplir la section des starters en Java, JS, Python
  • Proposer des solutions aux katas de la liste qui n'en ont pas encore
  • Autre exemples d'exercices/katas : exercism.io

Releases

No releases published

Packages

No packages published

Languages

  • PHP 35.0%
  • Java 33.8%
  • Python 31.1%
  • Makefile 0.1%