NoTDDKata
Détails
Pour notre prochain rendez-vous, nous accueillerons Thomas pour un atelier sur du Type Driven Design.
Note préalable :
Pensez à préparer votre environnement pour profiter pleinement de l'atelier.
Cet atelier est proposé en ReasonML, OCaml, Rust et Kotlin.
La connaissance d’un de ces langages n’est pas un pré-requis, cependant il est préférable de faire un choix et d’arriver avec un environnement de développement prêt à l’emploi pour profiter pleinement du meetup.
Description :
Le TDD seul n’est pas satisfaisant pour garantir des logiciels bien conçus et l'ajout constant de la valeur, pourtant des piliers du Software Craftsmanship manifesto.
Durant ce workshop nous verrons une approche de conception logicielle Not Only TDD ! En couplant le Type Driven Design (conception dirigées par les types) au Test Driven Development, il est possible d’encoder toute une catégorie de tests dans votre application, grâce à un système de types algébriques, et surtout vous permet de mieux raisonner sur votre application.
Avec la montée en puissance de langages statiquement typés et tel que F#, OCaml, Haskell, Scala, Swift, Kotlin, ReasonML, Rust, Nim, ... c'est un sujet d'actualité.
Installation de votre environnement :
Choisissez un langage et préparez votre machine.
-
Rust (native) : https://www.rust-lang.org/tools/install
Clonez ce repo https://github.com/LilleCraft/tktdd-rust
Et lancez `cargo build` depuis le répertoire projet
Vous êtes prêt ! -
OCaml (native) :
- Nodejs : https://github.com/creationix/nvm
- Esy : https://esy.sh/docs/en/getting-started.html
Clonez ce repo : https://github.com/LilleCraft/tktdd-ocaml
Et lancez `esy` depuis le répertoire projet
Vous êtes prêt !
- ReasonML (compilation vers Javascript) :
- Nodejs : https://github.com/creationix/nvm
Clonez ce repo : https://github.com/LilleCraft/tktdd-reasonml-bs
Et lancez `npm install` depuis le répertoire projet
Vous êtes prêt !
- Kotlin (jvm) :
- JDK >= 11 : Si vous avez besoin de plusieurs version de JDK en parallèle, vous pouvez utiliser asdf https://github.com/LilleCraft/tktdd-kotlin/blob/master/docs/jdk.md
- Kotlin >= 1.3 : https://kotlinlang.org/docs/tutorials/command-line.html
- Gradle >= 4.10.2 : https://docs.gradle.org/4.10.2/userguide/installation.html
Pour tester : clonez ce repo https://github.com/LilleCraft/tktdd-kotlin
Et lancez `gradle build`
S’il n’y a pas d’erreur, vous êtes prêt.
Oui un environnement JVM ça se mérite :)
Animateur :
Thomas Haesslé (@Oteku)
CTO chez Cutii.io et enseignant à l'université de Lille.
Je suis passionné de software craftsmanship, de typage statique et de programmation fonctionnelle, je code en javascript, OCaml / ReasonML et Rust... Mais je peux aussi longuement parler IA, Cloud ou robotique autour d’une bière.
On remercie chaleuresement Epitech Lille (http://www.epitech.eu/fr/ecole-informatique-lille/, @EpitechLille ) pour nous héberger et Octo (https://www.octo.com, @octochti ) pour sponsoriser l'événement.
