Une expression combinée est une accumulation de conditions au sein d'une même instruction :
if ($file->uploaded && $file->chmod(755)) {
//
}
Il est plus difficile de comprendre les intentions d'une expression lorsque celle-ci contient plusieurs conditions, posez-vous la question : "que cherchons-nous réellement à valider derrière ce if ?".
Encapsuler les conditions au sein d'une méthode contribuera à améliorer l'expressivité de votre code :
if ($file->isAccessible()) {
//
}
Vous faciliterez ainsi la lecture en diagonale de votre code en mettant l'accent sur un nommage approprié et révélateur des intentions.
De plus, en plaçant ces conditions dans des objets ou méthodes clairement nommées, vous :
- Focalisez votre code sur les comportements et fonctionnalités, plutôt que sur les données brutes
- Améliorez la réutilisabilité : la logique encapsulée peut être utilisée ailleurs sans duplication
- Renforcez la maintenabilité : modifier une logique complexe ne nécessite plus de parcourir tous les if dispersés dans le code.
En résumé, cette approche transforme des conditions complexes en concepts clairs et communicatifs, facilitant la lecture, la compréhension et la maintenance du code.