私のクラスの1つにメンバー "QSize frameSize"があります。私はそれのためのゲッター関数を作りたいと思って、自然に私は "QSize frameSize()"について考えましたが、それは変数名と同じでしょう! Qtでは、規約はgetFrameSizeを使用しないため、ソースコード内の名前の衝突を避けるにはどうすればよいですか?変数とゲッターの命名規則が衝突しないようにQt命名規則?
1
A
答えて
8
さて、まず、ソース、Luke!を使用してください。 Qt source codeはオープンソースライセンスのもとで入手可能であるため、どのように動作しているかは自由に確認できます。
ほとんどのパブリッククラスは、pimpl idiomを実装しているため、単一のメンバー変数(「d-ポインタ」)しか持たないため、Qtにはこの問題はありません。だから彼らは、少なくとも最後にではなく、
int QSomeThing::foo() const {
return d->foo;
}
のような機能を持っているかもしれませんが、私はQtのソースコード内のメンバ変数のための任意のグローバル命名規則を認識してないんだけど、いくつかのよく確立された慣習があります。私が使っているのは、すべてのメンバ変数の名前にm_
という接頭辞を付けることです(メンバであることを示しています)。だから、私のソースコードでは、上記の関数(私はPIMPLイディオムを使用していないと仮定して)しまうように見える:あなたの走行距離は異なる場合があり
int QSomeThing::foo() const {
return m_foo;
}
。
0
KDE Coding Styleをご覧ください。
0
あなたがあなた自身のクラスでのQtを拡張しようとしている場合、それは内部的にあなたがm_foo
または単に_foo
を使用することができ、一般的にfoo()
とsetFoo()
です。あなたが正確であることを望むなら、ソースを見てください。
物事に名前を付ける方法はたくさんありますが、最終的にはそれがあなたのものかあなたの雇用者のものかになります。一貫性があり明確である限り、あまり重要ではありません。このアドバイスはQtの動的プロパティにも及んでいます。
関連する問題
- 1. Firebaseゲッターのメソッドと命名規則
- 2. 命名規則
- 3. 命名規則
- 4. ビットマスクパラメータ命名規則?
- 5. serialVersionUID命名規則
- 6. JPasswordField命名規則
- 7. インテントキー命名規則
- 8. BEM:命名規則
- 9. Rails、命名規則
- 10. 命名規則とネームスペース
- 11. 命名規則 - uinavigationcontrollerとルートビュー
- 12. 命名規則が集中
- 13. クラスコンストラクタ内の変数の命名規則
- 14. ココアのインスタンス変数の命名規則
- 15. 変数\プロパティの命名規則
- 16. Go:スライス変数/パラメータの命名規則?
- 17. Oracleストアド・プロシージャ変数の命名規則
- 18. インスタンス変数への命名規則
- 19. ウェブサイトの命名規則
- 20. C#プロジェクトの命名規則
- 21. ベースファイルの命名規則
- 22. ベースコントローラーの命名規則
- 23. リポジトリの命名規則
- 24. Androidリソースの命名規則
- 25. モジュラーアプリケーションのデータベーステーブル命名規則
- 26. SQL命名規則のアドバイス
- 27. ローカルパラメータラベルの命名規則
- 28. プロパティの命名規則
- 29. Cの命名規則
- 30. cssメニューの命名規則
[Qtプロパティシステム](http://developer.qt.nokia.com/doc/qt-4.8/properties.html)を参照してください。 – Mat
メンバに 'm_frameSize'という名前を付けるのはなぜでしょうか。 –
@Mat Qtプロパティシステムを私に見せてくれてありがとう。私はそれについて知らなかった。ここの例では、get-prefixの規約を使用しています。つまり、getFrameSize()を使用する必要があります。 – sashoalm