Quotidien Shaarli

Tous les liens d'un jour sur une page.

October 6, 2023

bassistance.de » Decision Record: Mocking in Jest tests

Tout est dans le titre

Object lifecycle control | Tobias Schlitt - where inclusion meets solution

Cet article fait partie de ceux listés dans https://schlitt.info/blog/0784_best_of_posts_for_engineers.html
L'auteur préconise de ne pas utiliser des noms de classes en paramètre d'une méthode car cela casse le principe d'inversion de dépendance entre autres.

Abstract Classes vs. Interfaces | Tobias Schlitt - where inclusion meets solution

Cet article fait partie de ceux listés dans https://schlitt.info/blog/0784_best_of_posts_for_engineers.html

L'auteur donne les règles du bon usage des interfaces versus les classes abstraites. Attention donc à ne pas sur utiliser les interfaces au détriment des classes abstraites

Extracting Data Objects | Tobias Schlitt - where inclusion meets solution

Cet article fait partie de ceux listés dans https://schlitt.info/blog/0784_best_of_posts_for_engineers.html
L'auteur explique l'intérêt d'utiliser un objet pour passer des paramètres à une méthode (DTO). Il montre aussi comment réécrire le code pour passer d'un ensemble de paramètres / d'un tableau associatif à un DTO

static considered harmful | Kore Nordmann

L'auteur explique en quoi l'utilisation de méthodes statiques dans des classes PHP est généralement une mauvaise idée (sauf dans le cas d'une fabrique)

Utilize Dynamic Dispatch | Tobias Schlitt - where inclusion meets solution

Cet article fait partie de ceux listés dans https://schlitt.info/blog/0784_best_of_posts_for_engineers.html
L'auteur explique en quoi l'utilisation des traits en PHP pose problème, ceux ci étant "statiques" par essence -> Il est impossible d'altérer le fonctionnement d'une des méthodes du trait pour l'un de ses utilisateurs. Au contraire, en utilisant une interface, on peut choisir la classe implémentant le comportement dont on a besoin (dispatch dynamique)