-
Notifications
You must be signed in to change notification settings - Fork 2
31 janvier 2017
Emmanuel Gaillot edited this page Jan 31, 2017
·
1 revision
- Pas de nouvelles, bonnes nouvelles !
- Découvrir GeoJSON
- Écrire une moulinette JSON -> GeoJSON
- 20 minutes pour explorer
- … d'abord la spec GeoJSON
- … ensuite pour un POC Github GeoJSON
- Le projet :
- mettre à jour le code interprétant les JSON pour interpréter du GeoJSON
- On charge « tous » les fichiers GeoJSON (en fait, il n'y en a qu'un seul, celui qu'on a utilisé pour le POC au-dessus), plutôt que les fichiers JSON, et on adapte le code.
- Un peu de patouilles pour arriver à afficher l'icône du marqueur. On s'en
sort avec la clef
pointToLayer
- écrire un script pour transformer des données JSON au format GeoJSON
- … mais d'abord écrire un test
- … mais d'abord exécuter dans Node.js le test existant (plutôt que dans Phantom)
- … puis enfin, rédaction du premier test de la moulinette
- encore de la patouille pour trouver comment comparer deux objets avec
Chai.js (réponse :
should.eql
) - … et encore de la patouille pour trouver comment étendre un objet à
la volée (sans changer l'objet initial) (réponse :
Object.assign({}, object, {…}
) - … et encore plus pour assigner à la volée des variables à partir d'un objet passé en paramètre de fonction (finalement on le fait à la main)
- encore de la patouille pour trouver comment comparer deux objets avec
Chai.js (réponse :
- … Puis on écrit la fonction moulinette petit à petit
- … Et on écrit le point d'entrée
- De la patouille pour arriver à écrire au bon endroit (rappel : le
chemin à donner à
fs.writeFile
est relatif au point d'exécution)
- De la patouille pour arriver à écrire au bon endroit (rappel : le
chemin à donner à
- Puis ça marche. Moment d'émotion.
- … mais d'abord écrire un test
- mettre à jour le code interprétant les JSON pour interpréter du GeoJSON
- On s'est fait la main sur GeoJSON
- On a révisé la syntaxe ES6
- quelques déceptions sur la destructuration d'objets
- et du coup un peu de temps perdu
- Un bon rappel aussi sur
Object.assign
- Ça demande de l'effort de rester concentré sur une tâche à livrer, plutôt que
de tout régler au fur et à mesure (et se perdre dans la masse de choses à
faire, et ne rien livrer du tout)
- tension entre rester sur le chemin fixé, ou dévier pour remanier (dans l'espoir d'accélérer le développement de ce qu'on a prévu)
- C'était une bonne idée d'écrire un code qui fait la migration automatique d'un format vers l'autre
- Format intéressant pour s'entraîner à livrer du code
- Entraînement à la lecture de code legacy, au regard critique (qu'est-il pertinent de bouger ?), à l'articulation stratégie-tactique (qu'ai-je le temps de faire ?)
- Faire ce qu'il faut pour que la pull request soit acceptée :)