Les slides sont disponibles :
https://tzi.fr/slides/codeurs2017
https://tzi.fr/slides/codeurs2017.pdf
la vérité qui fâche
CSS is like a bear cub.
It’s almost a challenge to find a development team [...] where the CSS isn’t the most hated part of that system.
Thomas Zilliox, expert CSS indépendant.
Je sais produire du code CSS maintenable...
...au moins par moi-même !
Et du code maintenable avec une équipe de 12 ?
Celui responsable d'au moins 18 tickets JIRA
.header {
padding: 0.5em 1em;
overflow: hidden;
background: black;
color: white;
white-space: nowrap;
text-overflow: ellipsis;
}
.header {
padding: 0.5em 1em;
/* overflow: hidden; */
background: black;
color: white;
white-space: nowrap;
text-overflow: ellipsis;
}
.header {
[...]
}
.ellipsis {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.header {
display: inline-block;
}
.ellipsis {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.header { [...] }
.ellipsis {
display: block;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.header { [...] }
.home-item { display: flex }
.ellipsis {
display: block;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
body {
word-wrap: break-word;
}
.ellipsis {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
body {
word-wrap: break-word;
}
.ellipsis {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
Résumons !
Quelle que soit l'énergie que vous y investirez,
un niveau de qualité n'est
jamais un acquis en CSS !
en assumant que CSS est un vrai langage
Ce problème a été résolu du côté du code algorithmique :
C'est à partir de maintenant que c'est intéressant !
Les revues de code c'est bien !
Elles permettent de prévenir la majorité des erreurs.
Sauf que c'est très difficile de relire du CSS !
Comment faciliter la relecture ?
1 - Faire des bilans automatiques
2 - Isoler les développements
Le style guide permet de documenter les composants :
Il permet aussi de les visualiser sans leur contexte d'utilisation.
C'est un excellent bac à sable.
C'est l'équivalent des TUs !
Un seul bémol sur ces techniques...
Un seul bémol sur ces techniques...
Ca n'existe pas, ou pas encore :(
et pour toutes les tailles de projet stp
Les linters allègent la revue de code
Exemple : stylelint.io
Bemlinter permet de valider la syntaxe BEM
Et l'isolation des composants
Retour d'expérience
Attention à la mise en place d'outils de validation
Faire des tests automatisés sur tous les navigateurs et appareils.
Exemple : BrowserStack
Les tests fonctionnels peuvent contenir des tests graphiques.
Est-ce visible ?
Est-ce dans le viewport ?
Est-ce en dehors de son parent ?
Par contre c'est très long !
Impossible de valider tous les navigateurs sur toutes les PRs.
On fait le choix de lancer les tests IE 11 la nuit.
On souhaite rajouter iPhone, iPad, etc.
Les outils de test de regression visuel se démocratisent.
Exemple : Percy.io
On peut l'utiliser sur notre site, mais
un seul navigateur
du contenu statique
des pages entières
Pour être pérenne, il faudrait le coupler avec un style guide.
Encore faut-il en avoir un !
En même temps c'était dans le titre de la conf.
Le problème et la solution, c'est l'humain !
Des questions ?
@iamtzi
tzi.fr/slides/codeurs2017
tzi.fr/slides/codeurs2017.pdf