Une forme négative est toujours plus difficile à appréhender dans le code, surtout lorsqu’elle apparaît dans des conditions.
La double négation suivante est particulièrement déstabilisante et peut freiner, ne serait-ce que quelques secondes, la lecture :
if (! Buffer::shouldNotCompact()) {}
Même un court instant de blocage interrompt votre réflexion et perturbe la fluidité de la lecture, ce qui nuit à la compréhension générale du code.
Il est donc préférable d’utiliser une forme affirmative, plus instinctive et plus simple à comprendre :
if (Buffer::shouldCompact()) {}
Cette approche facilite la lecture et permet de saisir immédiatement l’intention de la condition, sans effort supplémentaire.