Consideriamo sia il problema generale che il problema specifico.
In generale il consiglio è di solito di evitare i negativi nei nomi. Il motivo è: si nota che può essere fonte di confusione negare una cosa; beh, a volte devi negare una cosa, ed è molto che confonde per negare un negativo:
if (!product.NotTaxable) ...
Yuck.
Nel caso specifico menzionate c'è un consiglio specifico. La tua proposta presenta problemi di usabilità con implicazioni sulla sicurezza, in almeno due modi.
In primo luogo, nella maggior parte dei sistemi di sicurezza si desidera eseguire il default sulla modalità sicura, non sulla modalità non protetta. Cioè, tu dici "l'accesso è disabilitato di default, avere un'autorizzazione concessa è speciale e consente l'accesso". Non si dice "l'accesso è consentito per impostazione predefinita, l'autorizzazione negata è speciale e non consente l'accesso". Quindi vuoi progettare il tuo codice allo stesso modo, per enfatizzare questo.
In secondo luogo, molti sistemi di sicurezza non hanno una relazione "binaria" tra "concesso" e "negato". Cioè, solo perché un permesso particolare è concesso, non implica che non sia negato!
Immaginate per esempio un sistema di permessi che concede l'accesso alla risorsa al gruppo contabile, ma nega l'accesso ai dipendenti in vacanza. Bob è un contabile in vacanza; gli è concesso accesso e accesso non consentito, e ora devi decidere quale vincerà. Anche in questo caso, probabilmente si desidera impostare la modalità protetta in modo predefinito e non consentire l'accesso.
Oppure immagina un sistema di permessi in cui ci sono tre tipi di regole: alcuni concedono l'accesso, il periodo, alcuni negano l'accesso, il periodo e alcuni dicono "Non si applicano a questa situazione". Si crea un elenco di regole prioritarie e lo si scarica finché non si ottiene il primo sussidio, nel qual caso si è terminato, o il primo si nega, nel qual caso si è terminato. Anche qui abbiamo la proprietà che "non concesso" e "negato" sono molto diversi.
La cosa importante non è se stai evitando! s, ma piuttosto che le tue API esprimono in modo molto chiaro e corretto la logica del dominio aziendale. Questa è la vera preoccupazione per la leggibilità.