Is there official guidance for beginning the name of a boolean property with 'Is'? (e.g., 'IsDeleted')

.net, boolean, c#, naming-conventions

Solution

From Naming Guidelines on MSDN:

√ DO name Boolean properties with an affirmative phrase (CanSeek instead of CantSeek). Optionally, you can also prefix Boolean properties with "Is," "Can," or "Has," but only where it adds value.

So basically guidelines do encourage usage of `Is`, `Has`, `Can` etc. As an example, the case with deleted entities in your application, which are marked with `IsDeleted` flag. "slightly easier to understand" is value enough to keep this `Is` part.

Personally I also follow this guideline because it turns some parts of code into completely valid sentences, which improves readability. Consider:

if (object.IsDeleted)

Problem

I like using the boolean property naming convention `Is______`, such as `IsDeleted`, `IsDefault`, etc. But I am being challenged on this. So is there any "official" guidance on the subject? I haven't been able to find any. (And, yes, I know this is minutiae.)

Original source