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