La tua domanda fa un'ipotesi limitante. Facciamo un passo indietro qui. Perché non solo bool ParametersValid
(o Boolean parametersValid
)? È perfettamente sufficiente secondo me.
Tutti quei isThis
, isThat
mi ricordano quel segretario aneddotico che archivia tutto sotto "T" ("l'affitto", "le fatture" ecc.):)
Se la necessità di tali prefissi diventa acuta (non è immediatamente evidente ciò che parametersValid
rappresenta), potrebbe indicare che la progettazione dell'oggetto è semplicemente negativa.
L'uso dei prefissi è una sorta di notazione ungherese e, in questo contesto, è il sostituto dell'uomo povero di un adeguato refactoring e divisione della classe.
Riguardo alle critiche di Caleb
:
OP's question is about the particular isFoo style of naming boolean
methods which is conventional in a number of languages
Forse, ma la domanda non è contrassegnata con il nome di un particolare linguaggio di programmazione, quindi la considero come indipendente dalla lingua.
suggesting a different convention is not useful.
Non sto davvero suggerendo una convenzione diversa, sto piuttosto dicendo che non è necessario seguire alcuna stretta convenzione in questo aspetto, a parte il buon senso e una chiara denominazione in generale.
L'idea che sia necessaria una stretta convenzione è ciò che ha creato il problema dell'OP in primo luogo.
Se adotta il mio punto di vista, il suo problema va via, quindi la mia risposta è (potenzialmente, ovviamente - come ogni altra risposta) utile.
Scelgo la semplicità. Vedi BackgroundWorker
class in .NET. Ha una proprietà CancellationPending
- non IsCancellationPending
, non WasCancelled
o HasBeenCancelled
ecc. Basta che sia semplice!
Furthermore, the convention you suggest is ambiguous by your own admission ("...it's not immediately obvious...")
L'ho scritto in modo condizionale, l'hai preso fuori dal contesto. Se non è immediatamente ovvio ... implica che la classe è troppo grande, che è un problema a sé stante.
Finally, the is in isFoo should be read as a verb; this use of prefixes is distinct from any Hungarian notation and in any case it's not necessarily indicative of poor design.
Verbo o non verbo, riflette solo il fatto che il tipo restituito è booleano, che è ridondante.
Ecco perché ho detto che è una notazione ungherese di sorta .