Photo - Nesa - Unsplash
Acronyme
SOLIDE - désigne les cinq premiers principes de la programmation orientée objet:
- (SRP). / — . , - , « Unix» KISS.
- / (OCP). — . (Bertrand Meyer) — Eiffel.
- (LSP). , . , . (Barbara Liskov) — Clu.
- (ISP). (Robert Martin), , : « , ». .
- (DIP). , — . ( ).
Si vous suivez ceci et structurez vos classes et fonctions de sorte que les principes SOLID soient vrais, vous obtiendrez probablement un code robuste, compréhensible et facilement maintenable. En passant, il y a des exemples ici pour illustrer le fonctionnement de chaque principe.
Qui a apporté SOLID
Comme vous l'avez peut-être deviné, c'était l' oncle Bob qui était responsable de l'essentiel des principes . Il les a décrits en détail dans ses 2000 Design Principles and Design Patterns , et l'acronyme SOLID a ensuite été suggéré par l'ingénieur Michael Feathers. Si vous êtes intéressé, Michael a un livre dans lequel il donne des conseils sur la façon de «relancer» le système hérité et de ne pas devenir fou en cours de route.
Photo - Oskar Yildiz - Unsplash
SOLID a pour mission de faciliter le développement d'applications faciles à maintenir et à étendre au fil du temps. Mais cet ensemble de lignes directrices est souvent critiqué.
Ce qui est critiqué
Ces principes sont parfois qualifiés de «trop vagues», ce qui les rend difficiles à mettre en pratique. Le programmeur et écrivain Joel Spolsky a également noté dans l' un des podcast StackOverflow que la méthodologie SOLID est trop utopique et oblige les développeurs à passer du temps sur du code redondant, en fait, pour le plaisir d'une coche.
Il estime qu'il n'y a pas lieu d'essayer à l'avance de prendre en compte tous les scénarios possibles et de simplement programmer, en corrigeant progressivement les lacunes, et de ne pas s'appuyer sur un «système de sécurité» imaginaire. Spolsky ne nie pas l'importance des principes, mais les appelle excessifs.
Il y a une opinionque le code SOLID est faiblement cohérent et facile à tester mais très difficile à comprendre (la critique utilise le mot «inintelligible»). Le programmeur doit écrire beaucoup d'interfaces détaillées et de petites classes qui sont plus distrayantes et déroutantes que d'aider à mettre en place un système. Cette déclaration est partagée par beaucoup de personnes qui pensent que se concentrer sur la simplicité du code suffit pour que d'autres développeurs le prennent en charge.
Photo - Kevin Canlas - Unsplash
Hacker News Topics Speaket que le choix de l'architecture, de la pile technologique et de la gestion des dépendances des projets est beaucoup plus important, et non les principes fondamentaux sur lesquels repose son écriture. Là encore, ils soulignent la complexité inutile de commencer par une conception de système intégrée, en pointant vers le principe YAGNI ou " Vous n'en aurez pas besoin ". Dans une certaine mesure, il s'agit d'un autre remix de l' approche classique de KISS .
Nous devons admettre qu'il existe de nombreuses déclarations en faveur de SOLID. Ainsi, l'un des résidents de HN dit que suivre ces principes aidera à remplacer rapidement la bibliothèque conditionnelle en cas de problème au niveau de l'abstraction. Il suffira de s'assurer que les tests sont en cours d'exécution pour la nouvelle implémentation et c'est tout, le maximum est de vérifier en plus les dépendances de l'ancienne version de la classe et, si nécessaire, d'utiliser la modifiée pour que les tests réussissent. Il n'y aura alors aucune «complexité inutile» dans le code, et ceux qui s'en occuperont plus tard ne seront pas confrontés au soi-disant syndrome de rejet du développement de quelqu'un d'autre .
Il est important de se rappeler que les principes SOLID ne sont que des lignes directrices et non des règles strictes. Et il y aura toujours des cas où il vaut mieux s'y tenir et quand se retirer.
1cloud.ru:
— HTTP-
,
UTF-8
: