Naming conventions в c++

192
03 марта 2018, 20:37

Так как в c++ нет устоявшегося соглашения по поводу именования различных сущностей, то каждый выбирает свой способ. Однако всегда следует использовать один и тот же способ именования во всем проекте.

Однако мой вопрос таков: если я пишу код, который придётся поддерживать не только мне, то как быть с подключаемыми библиотеками? Если я подключаю, к примеру, box2d, в котором классы начинаются с приставки b2, а методы все с большой буквы, в то время как я предпочитаю java-стиль - классы с большой, методы с маленькой, то как в таком случае быть?

Если это игровой движок, и я хочу, чтобы классы физики были не внутренними, а видны пользователю? Дурной ли это тон - использовать в проекте библиотеки с другими naming conventions. И как тогда быть? Использовать typedef? И как тогда быть с функциями?

Что думаете по этому поводу? Как сами поступаете в таких случаях?

Answer 1

режим сарказка Проблем с наименованием методов в с++ у Вас не может возникнуть:) в с++ нет методов:) режим сарказма выключен

Когда возникает проблема наименования на стыке двух проектов (или библиотека и проект), то никто не мешает написать ещё один слой абстракции, который скроет за собой все неудобные вещи, в том числе имена.

Но если хочется пользователю отдавать внутренние имена - то это сама по себе проблема. Отдавайте только свои обертки. Если в будущем ремята с box2d сделают что то страшное (например, какую то функцию решат удалить или поменяют сигнатуру функции), то Ваш код не сломается - нужно будет только обертку доделать. Если же пользователю дать свободу - нужно будет переделывать много кода.

READ ALSO
QT QUdpSocket прием дейтаграммы broadcast

QT QUdpSocket прием дейтаграммы broadcast

В своей программе отправляю на устройство последовательность байт(68, 1, 0)Устройство отвечает последовательностью байт(68, 1, 0)

255
Есть ли способ сократить код?

Есть ли способ сократить код?

Android Studio выдает предупреждение (длина метода = 20), что нижеследующий метод onNavigationItemSelected (длина = 21) содержит длинный кодЕсть ли способ сократить...

228
Найти значение в строке Java

Найти значение в строке Java

Предположим что у нас есть текстовик, в котором текст вида: Number = 1 Vasya Number = 2 Valera Number = 3 Kolya

240
Ошибка Java:modifier 'static' is only allowed in constant variable declarations

Ошибка Java:modifier 'static' is only allowed in constant variable declarations

Консоль с сайта codefights,подключенные библиотеки по умолчанию:

212