avril 2013 (8)

lundi 29 avril 2013

TDD versus BDD

De plus en plus souvent, j’entends dire que le BDD est mieux que le TDD.

Et à chaque fois je ne peux m’empêcher de sourire doucement, car un développeur qui fait du BDD fait en réalité du TDD , d’après « l’inventeur » du BDD.

Le concept de BDD est en effet apparu pour la première fois en mars 2006 dans un article de Better Software, un magazine ayant pour thème principal la qualité logicielle.

Dan North, l’auteur de l’article en question, y explique en substance que pour faire face à l’incompréhension et aux difficultés que la mise en œuvre du TDD suscitait chez les développeurs, il a eu l’idée d’en changer le vocabulaire afin de le rendre plus « accessible ».

Lire la suite

vendredi 26 avril 2013

À propos de la politique de développement de atoum

Timothée Barray a écrit récemment un article à propos d’atoum dans lequel il souligne l’extrême réactivité des contributeurs lorsqu’un bug doit être corrigé.

Cette rapidité de réaction ne doit rien au hasard puisqu’elle est entre autres induite par la politique de développement mise en place depuis quasiment le début du projet.

En effet, le développement d’atoum a été piloté par des tests écrits avec atoum lui-même dès que cela a été possible.

Les contributeurs disposent donc au moment ou j’écris ces lignes d’une collection de tests unitaires qui représente un total de 20250 assertions réparties dans 1393 méthodes et 176 classes.

Grâce à cela, le code d’atoum est couvert à plus de 80 % par les tests.

Lire la suite

mardi 16 avril 2013

Pourquoi atoum est-il open-source ?

François Zaninotto a donné lors du Symfony Live 2013 une conférence qui a apparemment eu un impact fort sur certaines personnes que je connais et qui y ont assisté.

C’est donc avec un grand intérêt que j’ai lu son billet intitulé « Pourquoi Symfony est-il (encore) open-source ? » qui reprend sous forme textuelle le propos qu’il a tenu lors de sa conférence.

En résumé, en se basant sur sa propre expérience, il y explique que le développeur qui libère son code réalise un acte politique puissant qui n’a rien à voir avec la morale et qui n’est pas désintéressé, car il crée de la valeur indépendamment d’un échange marchand, ce qui lui permet de tisser un lien social et de reprendre le contrôle afin d’avoir une influence sur l’avenir.

J’avoue avoir été dubitatif lors de ma première lecture.

Mais ayant moi-même libéré du code notamment dans le cadre d’atoum, il m’a semblé pertinent de confronter son point de vue à ma propre expérience en toute honnêteté, ce qui n’a pas été très facile même si cela a été enrichissant, car cela m’a obligé à reconnaître que ma démarche était très loin d’être désintéressée.

Lire la suite

vendredi 12 avril 2013

À propos de atoum #2

375 stars for atoum

Lentement mais surement, atoum poursuit son bonhomme de chemin.

Il vient en effet de se voir attribuer 375 étoiles sur github et sa communauté d’utilisateurs s’agrandie de jour en jour.

375 stars for atoum

Vous êtes en effet de plus en plus nombreux à fréquenter plus ou moins régulièrement ##atoum, le canal IRC du projet hébergé par le réseau Freenode.

De plus, les développements basés sur atoum sont également de plus en plus nombreux, notamment ceux utilisant Symfony 2 grâce au travail effectué sur l’AtoumBundle par certains contributeurs du projet.

Certains m’ont d’ailleurs demandé la raison pour laquelle il n’y avait pas eu de conférence au sujet d’atoum lors du dernier Symfony Live.

Lire la suite

lundi 8 avril 2013

La norme et moi

Without deviation from the norm, progress is not possible. Cette citation de Frank Zappa, que j’ai découvert grâce à cet excellent billet à propos de l’innovation à la Française m’a touché profondément. En effet, pour le meilleur et pour le pire, j’exerce mon esprit critique sur tout ce qui  […]

Lire la suite

vendredi 5 avril 2013

Mettons fin aux rumeurs, voici les faits #2

Régulièrement, quelqu'un publie un article pour dire à la face du monde à quel point PHP est un langage de merde.

D'ailleurs, je ne m'en prive pas moi-même.

Mais tout aussi régulièrement, les auteurs de ces articles racontent des conneries.

La plupart du temps, je n'y réagis pas, car ça serait m'engager dans un combat quotidien et je n'en ai ni le temps ni l'envie, car j'ai mieux à faire.

Cependant, en lisant ce billet, je me suis dit que je devais préciser certaines choses, car il se trouve que je maîtrise très bien le sujet qu'il évoque.

Lire la suite

mercredi 3 avril 2013

Nous faisons tous des erreurs #1

Nous faisons tous des erreurs lorsque nous développons un logiciel.

Ces erreurs peuvent avoir des origines diverses et variées, être petites ou énormes ou bien avoir des conséquences plus ou moins importantes.

Mais fondamentalement, ce n’est pas l’important.

L’important est d’analyser le processus qui a conduit à l’erreur afin de trouver une solution permettant de ne plus jamais la reproduire à l’avenir et ainsi entrer dans un processus d’amélioration continue.

Cette pratique, connue sous le nom de « rétrospective » dans les méthodes agiles, est redoutablement efficace, même si elle demande parfois beaucoup d’humilité.

Et elle est encore plus efficace lorsque nous pouvons profiter des erreurs d’autrui et plus particulièrement des leçons qu’ils en ont tirées.

Et des erreurs, j’en ai commis dernièrement.

Lire la suite

lundi 1 avril 2013

PHP 5.2 contient une bombe logique !

PHP 5.2

Le 6 janvier 2011, les développeurs de PHP publiaient la toute dernière version de PHP de la branche 5.2, connut sous la dénomination 5.2.17.

Et depuis, ce sont pas moins de 35 versions qui se sont succédé, réparties entre les branches 5.3 et 5.4.

Mais pour autant, la version 5.2 du langage est installée sur 45 % des serveurs utilisant PHP d’après les dernières statistiques compilées par Pascal Martin.

PHP 5.3 est lui mis en œuvre dans 40 % des cas et PHP 5.4, dernière version en date, n’est disponible que sur moins de 2 % des serveurs concernés.

Le fait que la version 5.2 est en fin de vie depuis décembre 2010 ne semble donc pas suffisant pour décider les utilisateurs du langage à migrer vers les dernières versions.

Pourtant, ces dernières apportent un gain significatif en terme de performance et de productivité ainsi que des fonctionnalités très intéressantes.

Sans entrer dans les détails, PHP 5.3 dispose en effet entre autres choses du support des espaces de nommage, des fonctions anonymes et des fermetures lexicales sur lesquelles est basé par exemple atoum, un framework de tests unitaires développé spécifiquement pour cette version.

PHP 5.4 a quant à lui notablement amélioré le modèle objet du langage grâce au support des traits et contient énormément de sucre syntaxique permettant d’améliorer la productivité des développeurs.

Mais malgré tout cela, ces versions ne sont pas parvenues à détrôner PHP 5.2 qui reste donc aujourd’hui la version la plus utilisée dans le monde.

Or, cela devient un véritable problème pour le développement du langage.

Lire la suite