Лично я всегда стараюсь ставить булевы значения перед чем-то, что добавляет немного больше значения (есть, имеет, может и т. Д.).Я использую следующие рекомендации Microsoft:
Назовите логические свойства с помощью утвердительной фразы (CanSeek вместо CantSeek).При желании вы также можете добавить префикс логических свойств к Is, Can или Has, но только там, где это добавляет значение.
MSDN - Имена членов типа
Я не верю, что так было всегда Так было не всегда.Эта практика восходит к .NET 2.0.До этого все было честно.Однако очистка этих имен в более новых версиях Framework вызовет все виды головной боли (следовательно, часть кода Framework использует соглашение, а некоторые нет).
Это определенно делает вещи более читабельными.Даже используя пример из вашего вопроса.Что бы вы предпочли?
// ambiguous naming, could mean many things
myTab.TabStop
или
// definitely a true/false value
myTab.IsTabStop