Dans cette rubrique je présente 3 mots que j’aime ou déteste, que je prononce trop ou que je viens d’apprendre. Mes 3 mots du moments concernent la conception et l’architecture logicielle. Je les utilise en programmation à deux, en séance d’architecture, avant d’entamer une fonction ou durant la mêlée quotidienne.

Indirection

Souvent utilisé avec “Niveau”.

Péjoratif : “On a trop de niveaux d’indirection. Il y a trop de couches entre l’API et son implémentation. Il faut simplifier.”

Positif : “Grâce à cette façade on expose pas directement l’implémentation, on fait une indirection qui nous laisse de la souplesse.”

Délégation

Dans la même veine. Un bon moyen d’ajouter une indirection.

Surtout en Objective-C, l’héritage est vraiment une solution inconfortable. Alors on use et abuse des délégués. C’est un super moyen de passer les responsabilité aux bons objets. C’est aussi une alternative aux notifications globales. Parfois seul un délégué doit être prévenu, pas besoin de diffuser un message à tous les potentiels classes intéressées.

Amender

Toujours en Objective-C, un bon moyen de ranger le code, faciliter la maintenance et pratiquer le TDD c’est d’utiliser des Category. On amende la classe pour ajouter les méthodes sur un sujet précis (aspect présentation, persistance, etc…)

Autre contexte : dans notre pratique de SCRUM, lorsqu’un bug est trouvé sur une tâche on amende le post-it pour signaler un problème (en gros on ajouter un autre post-it qui explique le bug)