Informaticienzero

Le blog d'un informaticien passionné de partage, d'échanges et surtout, pas si zéro que ça.

Aujourd’hui, c’est le chapitre Choisis tes outils avec soin que je vais traduire, comme sa licence Creative Commons Attribution 3 me le permet. Il a été écrit à l’origine par Giovanni Asproni.

Les applications modernes ne sont que très rarement construites à partir de rien. Au contraire, elles sont souvent un assemblage d’outils existants — composants, bibliothèques, frameworks — pour un certains nombre de bonnes raisons.

Cependant, choisir le bon mix d’outils pour son application peut devenir une affaire délicate demandant une profonde réflexion. En fait, quand on fait un choix, il faut garder plusieurs choses à l’esprit.

Ma stratégie personnelle pour atténuer ces problèmes est de commencer petit, par les outils absolument nécessaires. D’habitude, on se concentre pour éliminer le besoins de se plonger dans de la programmation bas-niveau d’infrastructure (et des problèmes liés), par exemple en utilisant des middlewares au lieu de sockets bruts pour des applications distribuées. Et seulement là on peut ajouter, si nécessaire. Je fais également mon possible pour isoler les outils externes de mes objets métiers par utilisation d’interfaces et de layering, afin de diminuer les efforts à fournir pour changer l’outil si besoin. Un effet positif de cette approche est que, généralement, je finis avec une application plus petite, qui utilise moins d’outils externes qu’à la base.

Mon mot à moi

Pas grand chose à dire, je n’ai pas vraiment d’expérience dans le domaine. Mais clairement, pour le voir parfois au travail, il vaut mieux sacrifier un peu de temps et d’argent pour s’approprier un outil efficace, qui nous permettrait de nous concentrer sur le code métier, plutôt que de mal redévelopper maison. Je pense notamment à la gestion des accès. Peut-être que je devrais leur envoyer cet article ?