Соглашение об именовании переменных и получателей в Qt, чтобы они не сталкивались? - PullRequest
1 голос
/ 16 января 2012

В одном из моих классов у меня есть член "QSize frameSize". Я хотел создать для него функцию получения, и, естественно, я подумал о «QSize frameSize ()», но это было бы то же самое, что и имя переменной! В Qt принято не использовать getFrameSize, так как же они избегают конфликтов имен в своем исходном коде?

Ответы [ 3 ]

9 голосов
/ 16 января 2012

Ну, во-первых, используйте источник, Люк! Исходный код Qt доступен по лицензиям с открытым исходным кодом, так что вы можете сами проверить, как они работают.

При этом в подавляющем большинстве случаев Qt неУ этой проблемы нет, потому что большинство открытых классов имеют только одну переменную-член («d-указатель»), так как они реализуют идиому pimpl .Таким образом, они могут иметь такие функции, как

int QSomeThing::foo() const {
    return d->foo;
}

И последнее, но не менее важное: я не знаю ни одного глобального правила именования переменных-членов в исходном коде Qt, но есть несколько устоявшихся соглашений.Я использую префикс имени всех переменных-членов с m_ (это означает, что это член).Таким образом, приведенная выше функция в моем исходном коде будет (при условии, что я не использую идиому pimpl) выглядеть так:

int QSomeThing::foo() const {
    return m_foo;
}

Ваш пробег может отличаться.

0 голосов
/ 16 января 2012

Если вы пытаетесь расширить Qt своими собственными классами, обычно это foo() и setFoo(), внутри вы можете использовать m_foo или просто _foo.Посмотрите на источник, если хотите быть точным.

Существует множество способов именования вещей, и в конечном итоге все сводится к предпочтениям (вашему или вашему работодателю).Это не слишком важно, если вы последовательны и понятны.Этот совет распространяется и на динамические свойства Qt.

0 голосов
/ 16 января 2012

Возможно, вы захотите взглянуть на KDE Coding Style .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...