既存のプロジェクトに追加するときは、一貫したスタイルを維持することが重要です。しかし、プロジェクトとライブラリの標準の間に明確な違いがあるときに、新しいプロジェクトのライブラリから大幅にサブクラス化する場合はどうでしょうか。
私は特定のコーディングスタイルのプロジェクトに取り組んでいます。特に、それらのクラス内のクラスとメソッドの名前付け方法に関してはそうです。ただし、プロジェクトの1つのモジュールであるUIは、外部ライブラリに大きく依存しており、このモジュールのほとんどのクラスはこのライブラリをオーバーロードします。この場合、Qtですが、何でもかまいません。
このような状況では、APIで使用されるスタイルに固執するか、プロジェクトのスタイルを新しい関数に使用する方がよいでしょうか。例として、QtはcamelCase
関数宣言にを使用しますが、このプロジェクトはを使用しUpperCase
ます。次のようなことを考えてみてください。
class MyNewWidget : public QWidget {
Q_OBJECT
public:
void setVisible(bool visible); // QWidget override
void SetNewFeature(std::string feature_key); // New function
bool visibility() const; // I know you can't override that, but bear with me
std::string GetNewFeature() const; // propertyName() vs GetPropertyName()
};
これは、を使用するSTLからのサブクラス化と同じように感じますlower_case
。その場合、少なくともいくつかの例で規則に従うのにはいくつかの正当な理由があります。たとえば、typedefiterator
を実行する場合や、begin
//関数をetalで使用できるようにする場合などです。end
swap
<algorithm>
しかし、私はこれの壁にいます。