OK, je crois comprendre d'où vient cette incompréhension.
Le "ce que l'on juge utile", n'apparaît que dans un de tes derniers messages.
Les autres remarques portent sur le fait d'encapsuler ce qui est répété ou les
bibliothèques qui ne correspondent à 100% au niveau de granularité dont tu as besoin dans la partie "métier" du code, ce n'est pas de ça que je parlais en disant qu'il faut prendre la décision au cas par cas. Tu te focalises uniquement sur deux axes, qui bien qu'importants (et je ne remet pas en cause leur utilité, en particulier concernant la duplication de code) ne sont pas uniques, il existe de nombreux paramètres à prendre en compte. Même dans ces deux cas là, la décision d'encapsuler ou non n'est forcément systématique, même dans ces cas là il faut le faire si on le juge utile au regard des différents paramètres (sachant que la décision ne va pas satisfaire tous ses paramètres mais représenter un compromis acceptable).
Bref c'est réellement à voir au cas par cas et non en fonction de simplement deux critères.
Si tu travailles toujours dans un contexte équivalent et que dans ce contexte, ces deux axes représentent les deux seuls critères de choix, alors oui la décision doit toujours être prise en fonction de ces deux seuls critères. Mais il ne faut pas généraliser ton expérience, tout le monde ne travaille pas dans le même contexte et tout le monde n'a pas les mêmes contraintes.

