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