Hall – A project manager for the Guile programming language
I'm going to introduce you to Hall, a tool to assist you in the development and distribution of Guile programs. I won't cover all of Hall's features. Just something to give you a try ;–)
I'm going to introduce you to Hall, a tool to assist you in the development and distribution of Guile programs. I won't cover all of Hall's features. Just something to give you a try ;–)
Dans cet article, je vais te présenter Hall, un outil dont le but est de t'assister dans le développement et la distribution de programmes Guile. Je ne couvrirai pas toutes les fonctionnalités de Hall. Juste de quoi te donner envie d'essayer. ;–) Tu verras comment créer un projet Guile à partir de zéro, comment construire le projet, comment le tester, enfin, comment le distribuer !
Le dernier test ajouté (et tous les autres) passent, place au réusinage ! Je me concentre dans cette session sur les tests.
Tu peux retrouver le code source du projet et autres croustillants détails sur son dépôt !
Bon screencast !
Objectif de cette session : Continuer d'utiliser un peu plus d'outils que Guile (Scheme) et Emacs mettent à disposition (Paredit, Geiser, AC-Geiser, SRFIs) pour améliorer mes compétences en développement logiciel.
Bon screencast !
Objectif de cette session : Continuer d'utiliser un peu plus d'outils que Guile (Scheme) et Emacs mettent à disposition (Paredit, Geiser, AC-Geiser, SRFIs) pour accélérer le développement de programmes.
Bon screencast !
#kata #tdd #testdrivendevelopment #guile #scheme #emacs #screencast
Objectif de cette session : Utiliser un peu plus d'outils que Emacs met à disposition (Paredit, Geiser, AC-Geiser) pour accélérer le développement.
Bon screencast !
Je place le code à la suite pour ceux que ça intéresse :
(define-module (harness-guile)
#:use-module (srfi srfi-64))
(module-define! (resolve-module '(srfi srfi-64))
'test-log-to-file #t)
(define EMPTY_STRING "")
(define DUMMY_1CHAR_STRING "a")
(define (rotations str)
`(,str))
(test-begin "test-suite")
(define test-cases-descripti)
(define (test-equal-batch triples)
(map (lambda (triple)
(let ([test-name (car triples)]
[test-expected (car (cdr triples))]
[test-effective (car (cddr triples))])))
triples))
(test-equal "empty-string"
`(,EMPTY_STRING)
(rotations EMPTY_STRING))
(test-equal "one-char-string"
`(,DUMMY_1CHAR_STRING)
(rotations DUMMY_1CHAR_STRING))
(test-end "test-suite")
Merci beaucoup d'avoir regardé ce screencast !
N'hésites pas à me donner ton avis, proposer une idée d'amélioration, laisser un commentaire, ou poser une question via : – E-mail: jeremy AT korwin-zmijowski DOT fr – Mastodon: @jeko@framapiaf.org – Peertube: @jeko@video.tedomum.net – Twitter: @JeremyKorwin
Abonnes-toi pour ne pas manquer les prochains articles et épisodes: – blog via Mastodon @jeko@write.as et RSS – screencast via Peertube @jeko@video.tedomum.net et RSS
Et encore plus important, partages le screencast et dis à tes amis que c'est le meilleur screencast de l'histoire du logiciel libre ! Sans dec'
#kata #tdd #testdrivendevelopment #guile #scheme #emacs #screencast
Objectif de cette session :
Continuer de s'exercer avec String rotations.
Illustrer un ré-usinage des tests et utiliser un peu plus les outils à disposition dans Emacs !
Bon screencast !
Je place le code à la suite pour ceux que ça intéresse :
(define-module (kata-3)
#:use-module (srfi srfi-64))
(module-define! (resolve-module '(srfi srfi-64))
'test-log-to-file #t)
(define EMPTY_STRING "")
(define DUMMY_1CHAR_STRING "a")
(define (rotations str)
`(,str))
(test-begin "test-suite")
(define test-case-descriptions
`(["empty-string" (,EMPTY_STRING) ,EMPTY_STRING]
["one-char-string" (,DUMMY_1CHAR_STRING) ,DUMMY_1CHAR_STRING]
["two-char-string" ("ab" "ba") "ab"]))
(define (test-equal-batch triples)
(map (lambda (triple)
(let ([test-name (car triple)]
[expected-value (car (cdr triple))]
[effective-value (car (cddr triple))])
(test-equal test-name
expected-value
(rotations effective-value))))
triples))
(test-equal-batch test-case-descriptions)
(test-end "test-suite")
Merci beaucoup d'avoir regardé ce screencast !
N'hésites pas à me donner ton avis, proposer une idée d'amélioration, laisser un commentaire, ou poser une question via : – E-mail: jeremy AT korwin-zmijowski DOT fr – Mastodon: @jeko@framapiaf.org – Peertube: @jeko@video.tedomum.net – Twitter: @JeremyKorwin
Abonnes-toi pour ne pas manquer les prochains articles et épisodes: – blog via Mastodon @jeko@write.as et RSS – screencast via Peertube @jeko@video.tedomum.net et RSS
Et encore plus important, partages le screencast et dis à tes amis que c'est le meilleur screencast de l'histoire du logiciel libre ! Sans dec'
#kata #tdd #testdrivendevelopment #guile #scheme #emacs #screencast
Objectif de cette session : répéter l'exercice en veillant à ne pas faire l'impasse sur le ré-usinage (refactoring) des tests.
Bon screencast !
Merci beaucoup d'avoir regardé ce screencast !
N'hésites pas à me donner ton avis, proposer une idée d'amélioration, laisser un commentaire, ou poser une question via : – E-mail: jeremy AT korwin-zmijowski DOT fr – Mastodon: @jeko@framapiaf.org – Peertube: @jeko@video.tedomum.net – Twitter: @JeremyKorwin
Abonnes-toi pour ne pas manquer les prochains articles et épisodes: – blog via Mastodon @jeko@write.as et RSS – screencast via Peertube @jeko@video.tedomum.net et RSS
Et encore plus important, partages le screencast et dis à tes amis que c'est le meilleur screencast de l'histoire du logiciel libre ! Sans dec'
#kata #tdd #testdrivendevelopment #guile #scheme #emacs #screencast
Pour ce kata, j'ai choisi un exercice du site Programming Praxis : String Rotations.
Je choisi généralement de faire des sessions de 25 minutes. Pour ce kata, je n'avais pas d'objectif particulier autre que voir de quoi je suis capable avec les outils que j'utilise.
Bon screencast !
Merci beaucoup d'avoir regardé ce screencast ! N'hésites pas à me donner ton avis, proposer une idée d'amélioration, laisser un commentaire, ou poser une question via : – E-mail: jeremy AT korwin-zmijowski DOT fr – Mastodon: @jeko@framapiaf.org – Peertube: @jeko@video.tedomum.net – Twitter: @JeremyKorwin
Abonnes-toi pour ne pas manquer les prochains articles et épisodes: – blog via Mastodon @jeko@write.as et RSS – screencast via Peertube jeko@video.tedomum.net et RSS
Et encore plus important, partages le screencast et dis à tes amis que c'est le meilleur screencast de l'histoire du logiciel libre ! Sans dec'