質問

C ++とQtを使用して構築されたオープンソースプロジェクトで、他のプログラマグループと協力しています。

今、すべてのコードでウィジェットを標準として使用するには、ウィジェット(および一般に他の変数)の命名規則が必要です。これにより、コードが読みやすくなり、プログラマー間の調整が向上します。

何かアドバイスはありますか

編集:新しいクラスの命名については話していない、

代わりに、Qt Widgetのインスタンスの命名について説明しています。ユーザー名のテキスト編集があるとします。txtEdtUsrNmと命名する必要がありますか?

その場合、派生を選択する方法を教えてください

役に立ちましたか?

解決

これらの線に沿って考えている限り、最初から最後までこのQtQuarterlyの記事を読むことから始めます。

QtスタイルC ++ APIの設計

とはいえ、私たちがやっていることの1つは、「使用」することです。インスタンスの最初の部分として、クラスの最後の完全な単語を最後の部分として。

つまり、「ユーザー名」 QTextEditは

QTextEdit * userNameEdit = new QTextEdit(this);

QListViewやQTreeViewなどのあいまいさが存在する場合は、最後のあいまいなセクションを選択してください。

QListView * userListView;

好きな略語(QLabelの" Lbl"など)を理解することはできますが、一般的に、単語全体が機能し、読みやすくなっています。

一方、これについては厳しすぎず、クラス名なしでインスタンス変数の意図に名前を付けることがより重要かもしれません。将来、クラスを変更したい場合、良いリファクタリングツールがなければ苦痛になる名前を変更します。

おそらく最もよく使用する一般的なウィジェットを把握し、最も一般的なスーパークラスの命名規則を選択して、他のすべてを許可します。

規約に準拠しているもののリストの例:

  • layout =で終わるすべてのクラス "レイアウト" QLayoutを継承します
  • button =" Button"で終わるすべてのクラスQAbstractButtonを継承します

QAbstract ClassName クラスは、そのリストに何を含めるべきかを考えるのに適した場所です。

他のヒント

Qtはサードパーティの開発者に公開されているため、コーディングスタイルとAPI設計原則に関するいくつかのドキュメントを公開しました。

これらのドキュメントは本当に興味深いものです。ここにいくつかのリンクがあります:

Wiki:Qtコーディングスタイル

Wiki:Api Design Principles

そして、読む価値のあるJasmin Blanchetteのこのドキュメント(PDF): APIデザインの小さなマニュアル

Qtが使用するのと同じ命名規則を使用します。自分で簡単に作れます。

それらの命名規則はjavaに似ています。

フルネームはすぐに読みにくく、入力するのが面倒になるため、通常は略語を使用しています:

QLabel * fooLB;
QPushButton * fooPB;
QTextEdit * fooTE;
QSpinBox * fooSB;

(ドリフトが発生します)。はい、いくつかのあいまいさがありますが、通常はコンテキストから解決されます。

正確には、質問は「Qtウィジェットのインスタンスに名前を付ける」ことですが、答えはウィジェットのインスタンスへの参照を保持する変数に名前を付けることです。

Qtウィジェットは、ゲッターobjectName()を持つnameプロパティを持つQObjectから派生します。プログラマーがQtを使用しない場合、プロパティに値を与えますか? 「自動生成」と呼びますまたは&default; quot;値。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top