Я пишу класс, имя которого начинается с I (потому что это имя продукта, с которым мы интегрируемся, не может быть изменено).
Согласно соглашению, имена классов начинаются с заглавной буквы, однако в этом случае они будут восприниматься потребителем как интерфейс.
Есть ли здесь какая-либо документация, указывающая разработчикам на правильный подход? Вдобавок, что произойдет, если мне действительно нужно будет реализовать и связать - должен ли это быть IiProduct / IIProduct?
Отредактировано на добавление:
Я не могу упомянуть продукт по очевидным причинам, но он следует тому же соглашению о заглавных буквах, что и яблоко. iPhone, следовательно, IPhoneClass (следует их бренду, но отображается как интерфейс), а не IphoneClass (который следует соглашению, а не брендингу).