Мне кажется, что было бы полезно иметь возможность сказать с первого взгляда, что класс является абстрактным и не предназначен для непосредственного создания так же, как полезно, чтобы иметь возможность легко идентифицировать интерфейс.Префикс абстрактных классов с интерфейсами «A» с префиксом «I»?
Вопрос в том, почему «AFourLeggedAnimal: IAnimal» не улавливается? Это просто из-за возможной путаницы (которую я только заметил при написании), например, запутав ее как «четырехногий животное» вместо «абстрактного класса FourLeggedAnimal»? Или это нечто большее?
Начиная с Java в школе до C# на работе, я нашел, что соглашение об именах префикса «I» чрезвычайно полезно при просмотре списка классов, и мне кажется, что было бы удобно различать бетон и небетонные классы с первого взгляда, без необходимости смотреть на код.
Почему бы не расширить «A» на «абстрактный» ? Это не так, как если бы использование более длинной формы уменьшало вашу производительность любым измеримым способом. Не сокращайте это, это создает потенциальную путаницу без материального выигрыша. –
Я предпочитаю суффиксы для классификации. Я все еще помню индекс в ссылке MFC. Записей почти не было, кроме раздела с буквой C, содержащего базиллион записей для классов: CDocument, CView, CWindow и т. Д. –