タグ付けされた質問 「naming」

チームやコミュニティ全体で最も受け入れられやすい形式で、最小限の文字数で意味と説明を与えます。

5
C ++ヘッダーファイルが嫌いな場合はどうすればよいですか?
私はいつもヘッダーファイルについて混乱していた。それらはとても奇妙です。.cppを含まない.hファイルをインクルードしますが、.cppも何らかの方法でコンパイルされます。 最近、私はチームプロジェクトに参加しました。もちろん、.hと.cppの両方が使用されます。 これが非常に重要であることは理解していますが、複数のクラスのそれぞれにあるすべての関数宣言をコピーアンドペーストすることはできません。 2ファイルの規則を効率的に処理するにはどうすればよいですか? それを支援するツールはありますか、または以下の例のような1つのファイルを.hと.cppに自動的に変更しますか?(特にMS VC ++ 2010の場合) class A { ... Type f(Type a,Type b) { //implementation here, not in another file! } ... }; Type f(Type a) { //implementation here } ...

17
C#でプライベート変数にどのように名前を付けますか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は議論、議論、世論調査、または詳細な議論を求める可能性があります。この質問を改善し、おそらく再開できると思われる場合は、ヘルプセンターをご覧ください。 6年前に閉鎖されました。 C#のプライベート変数で最も一般的に受け入れられている命名規則のベストプラクティスは何ですか? private int myInteger; private int MyInteger; private int mMyInteger; private int _myInteger; private int _MyInteger; 神秘的な他のオプション どちらを使用しますか?(私の会社はC#にかなり慣れていないので、コーディング業界の標準に入るために最も「業界で受け入れられている」方法を選びたいと思います。)

3
「必要に応じてXを実行」メソッドの命名
Xを実行する必要があるかどうかをチェックし、必要に応じてXを実行するメソッドに名前を付ける良い方法は何ですか? たとえば、新しいユーザーがログインした場合にユーザーリストを更新するメソッドに名前を付ける方法は?UpdateListIfNeeded長すぎるように見えますが、単純なUpdateListことは、毎回高価で不必要な操作が行われることを意味します。EnsureListUpdatedバリアントでもあります。 C#には、Xが可能かどうかを確認して実行するbool TryXXX(args, out result)パターン(たとえばint.TryParse(str, out num))がありますが、それは微妙に異なります。

8
タイプを命名するための良いテクニックやテストはありますか?
厄介な、未解決の質問ですが、それは私がいつも反対している問題です: 保守と操作が簡単なソフトウェアは、適切に設計されたソフトウェアです。設計を直観的にしようとすると、次の開発者がコンポーネントの機能を推測できるような方法でコンポーネントに名前を付けます。これが、クラスに「Type1」、「Type2」などの名前を付けない理由です。 実際の概念(顧客など)をモデル化する場合、これは一般に、モデル化される実際の概念に基づいて型に名前を付けるのと同じくらい簡単です。しかし、よりシステム指向の抽象的なものを構築する場合、読みやすく、簡単に消化できる名前を使い果たすことは非常に簡単です。 (私にとっては)コンポーネントの動作を説明する基本型またはインターフェイスを使用して、型のファミリに名前を付けようとすると悪化します。これは当然、派生型ごとに実装のフレーバー(IDataConnectionおよびSqlConnection.NET Frameworkなど)を記述しようとしますが、「リフレクションによる動作と特定の属性セットの検索」のような複雑なものをどのように表現しますか? 次に、やろうとしていることを説明していると思われるタイプの名前を最終的に選択したら、同僚は「WTFはDomainSecurityMetadataProvider実際にこれを行うのですか?」と尋ねます。 コンポーネントの意味のある名前を選択するための良いテクニックはありますか、または混乱した名前を取得せずにコンポーネントのファミリーを構築する方法はありますか? 名前に適用できる簡単なテストはありますか?
23 design  naming 

13
システムハンガリー記法はまだ有用な慣習ですか?[閉まっている]
ここで何が求められているかを伝えるのは難しいです。この質問は曖昧、曖昧、不完全、過度に広範、または修辞的であり、現在の形式では合理的に答えることができません。この質問を明確にして、再開できるようにするには、ヘルプセンターに アクセスしてください。 8年前に閉鎖されました。 私はフォーラムを検索しましたが、なぜ回避すべきかという答えは見つかりませんでした。なぜそれが特効薬ではないのかだけです。ですから、この質問は重複しているとは思いません。 そこにあるVALIDに慣れて、私はシステムハンガリーIを捨て去る必要がある理由は? これまでのところ、私はそれを使用することで以下の利点を見ています: 一貫した変数の命名 検索せずにタイプが表示されます(インテリセンスは半分の時間でデッド/インデックス付けされているため、依然として正当な理由です) セマンティクスは名前の2番目の部分に引き続きパックできます そして、次のマイナス面: 一部の人々を困らせます(理由はわかりません) 型が変更された場合、その型は変数の名前と一致しない可能性があります(正当な理由ではないと思います。型はめったに変更されず、「すべての名前を変更」します) なぜ: vector<string> vecCityNames; wstring strCity = L"abc"; //more code here vecCityNames.push_back(strCity); より悪い: vector<string> cityNames; wstring city = L"abc"; //more code here cityNames.push_back(city);//Are we pushing back int on a queue? Float on a stack? Something else?
23 c++  naming 

2
命名規則:最終フィールド(静的ではない)
今日はfinal、Javaクラスのフィールドの命名について同僚と話し合いました。 彼の意見finalでは、フィールドはインスタンスの作成後に値が変化しないため、定数と見なされる必要があります。 これにより、finalフィールドに次の命名規則が適用されます。 public class Foo { private static final String BLA_BLA = "bla"; private final String BAR_BATZ; ... } 私の意見では、static finalフィールドのみが定数と見なされるべきですが、フィールドfinalは通常のcamelCase命名規則に従うべきです。 public class Foo { private static final String BLA = "bla"; private final String barBatz; ... } 彼は私よりもはるかに経験豊富なプログラマーであり、私は彼の意見に同意し、彼を非常に優れた開発者と見なしているため、今は少し不確かです。 これに関する入力はありますか?
23 java  naming  final 

6
関数パラメーター名の前にp *を付ける利点は何ですか?
関数パラメーターの前にを付けたプロジェクト(Eclipseを使用するJavaプロジェクトおよびチーム)をよく見ますp。 例えば public void filter (Result pResult) ... 私は個人的にはこれには何の利点も見ていませんが、その理由は何か知りたいです。私が聞いた中で最も良い説明は、同じ名前のフィールドの名前を区別することだということです。その説明には問題がありますが、ポイントは理解できます。

2
静的mainメソッドを持つJavaクラスの命名規則?
コンストラクターではなく、なぜJavaおよびC#の静的メインメソッドに対するgnatの答えを読んだ後ですか?彼の答えは、静的なmainメソッドを持つJavaクラスの目的は、define a program entry pointそれ自体がプログラムそのものではないことを意味すると考えています。 これを行うためのより良い方法があるかもしれませんが、私は通常、次のような単純なことを行う静的なmainメソッドを持つクラスを持っています: public class MenuLauncher { public static void main(String[] args) { Menu menu = new Menu(); menu.run(); } } 上記のコードは、静的メインを持つクラスが、独立した非静的オブジェクト内に含まれるプログラムロジックを起動または起動する以上のことをしないOOPのベストプラクティスでしょうか。結局、mainは静的なので、MenuLauncherクラス自体は非常に制限されませんか?mainは開始点であるため、エントリポイントになること以外のクラスの目的はありません。 mainメソッドを含み、プログラムのエントリポイントになる目的を果たすクラスに一般的に使用されるJava命名規則はありますか?

3
連続する単語に数字があるキャメルケースの方法は?
この質問は、Software Engineering Stack Exchangeで回答できるため、Stack Overflowから移行されました。 7年前に移行され ました。 このコーナー・コーナー・コーナーのケースで誰かが従うべき良い慣習があるかどうか疑問に思っています。私は実際にJavaを使用していますが、C#の人々もいくつかの良い洞察を持っているかもしれないと考えました。 クラス名の2つの連続した単語が数字であるクラスに名前を付けようとしているとします(同じ質問で識別子名について尋ねられることに注意してください)。良い例は得られませんが、「IEEE 802 16ビット値」のようなものを考えてください。 連続した頭字語の組み合わせは、などのクラス名を受け入れる場合に実行可能ですHttpUrlConnection。しかし、クラスに名前を付けることを考えると、真剣に少し私を投げますIEEE80216BitValue。選択しなければならなかった場合、IEEE802_16BitValueそれは悪い間違いのように見えるよりもさらに悪いと言うでしょう。少数の場合、私は検討したいIEEE802SixteenBitValueが、それはうまくスケーリングしません。 誰もがコンベンションを持っていますか?Microsoftの命名ガイドラインは、頭字語の命名を仕事を遂行するのに十分なほど詳細に説明している唯一のガイドラインのようですが、クラス名の番号については誰も言及していません。

7
XMLがEMLと呼ばれないのはなぜですか?
ウィキペディアから Extensible Markup Language(XML)は、機械可読形式でドキュメントをエンコードするための一連のルールです。W3Cによって作成されたXML 1.0仕様[4]および他のいくつかの関連仕様で定義されており、すべて無料の標準です。[5] より自然なEMLではなく、短縮XMLを呼び出す歴史的な理由は何ですか?
21 naming  xml  etymology 

2
ハンドラー、マネージャー、コントローラーの違い
クラスに「Handler」、「Manager」、または「Controller」という名前を付けるのに違いはありますか?IE: 、PurchaseManager、。PurchaseHandlerPurchaseController これらの十分な意味は同じ意味を伝えますか、それとも明確な違いがありますか? 言語に依存しない答えがない場合は、Javaを言語と考えてください。
21 java  naming 

1
あなたのコードで複数形タンタムを扱うための標準は何ですか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 4年前に閉鎖されました。 複数形と単数形が同じ変数を使用する場合、どのように名前を付けますか?そこに標準はありますか? 例えば: Series[] series // Plural Series series // Singular 詳細: 具体的に言うと、シリーズのコレクションは(JSONフォーマットのため)シリーズと呼ばれる必要がありますSeries s。コレクションに追加される単数形のシリーズに名前を付けることを検討してください。 次のように: List<Series> series = new List<Series>(); Series s; while (someBool) { s = new Series(); s.Name = "Name"; while (anotherBool) { s.AddValue(someValue); } series.Add(s); }

7
「SomeClass」や「SomeClassInfo」など、「Info」という接尾辞を持つクラスの命名の背後にある考え方は何ですか?
私は物理デバイスを扱うプロジェクトに取り組んでおり、このプロジェクトのいくつかのクラスに適切な名前を付ける方法として混乱しています。 実際のデバイス(センサーとレシーバー)を考慮することと、ソフトウェアでそれらを表現することは別のことであるため、「Info」という接尾辞の名前パターンでクラスに名前を付けることを考えています。 たとえば、a Sensorは実際のセンサーを表すクラスですが(実際に動作するデバイスに実際に接続されている場合)、SensorInfoそのようなセンサーの特性のみを表すために使用されます。たとえば、ファイルの保存時に、をシリアル化するのではSensorInfoなく、ファイルヘッダーにをシリアル化しますSensor。これは意味がありません。 しかし、今私は混乱しています。なぜなら、オブジェクトのライフサイクルには、どちらを使用するべきか、どのように別のものを取得するか、または両方のバリアントを実際に1つのクラスのみに折りたたむかどうかを判断できない中間点があるためです。 また、あまりにも一般的なEmployeeクラスの例は、明らかに実在の人物の表現にすぎませんがEmployeeInfo、私の知る限り、クラスに名前を付けることを提案する人はいません。 私が使用している言語は.NETです。この命名パターンは、これらのクラスの例として、フレームワーク全体で共通しているようです。 DirectoryおよびDirectoryInfoクラス; FileおよびFileInfoクラス; ConnectionInfoクラス(対応するConnectionクラスなし); DeviceInfoクラス(対応するDeviceクラスなし); だから私の質問は次のとおりです。この命名パターンを使用することについて共通の根拠がありますか?名前のペア(ThingとThingInfo)を使用するのが理にかなっている場合ThingInfoや、Thingクラスが存在しない、またはクラスが存在しない他の場合がありますか?

2
コードを見るだけで、APIが何をしているのかを常に知る必要がありますか?
最近、私は自分のAPIを開発しており、そのAPI設計への投資に興味を持ち、API設計を改善する方法に強い関心を持っています。 数回登場した側面の1つは(私のAPIのユーザーによるものではなく、トピックに関する私の観察中の議論による)です。 たとえば、談話レポについてはGitHubでのこの議論を参照してください。 foo.update_pinned(true, true); (パラメータ名、ドキュメントなどを知らずに)コードを見るだけでは、何をしようとしているのか推測できません。2番目の引数はどういう意味ですか?推奨される改善策は、次のようなものにすることです。 foo.pin() foo.unpin() foo.pin_globally() そして、それは物事を明確にします(2番目の引数はfooをグローバルに固定するかどうかでした、私は推測しています)、この場合、後者は確かに改善されることに同意します。 ただし、コードを見ただけでは何をしているのかわからない場合でも、異なるが論理的に関連する状態を設定するメソッドが、個別のメソッド呼び出しではなく、1つのメソッド呼び出しとしてより適切に公開される場合があると思います。(したがって、パラメータ名とドキュメントを調べて調べる必要があります-個人的には、APIに不慣れな場合は常に何をしてもかまいません)。 たとえばSetVisibility(bool, string, bool)、FalconPeerで 1つのメソッドを公開し、次の行を確認するだけです。 falconPeer.SetVisibility(true, "aerw3", true); あなたはそれが何をしているのか分からないでしょう。falconPeer論理的な意味での「可視性」を制御する3つの異なる値を設定しています。パスワードのみで参加要求を受け入れ、検出要求に応答します。これを3つのメソッド呼び出しに分割すると、APIのユーザーは、「可視性」のすべての側面を設定するために1つのメソッドを公開するだけで他のユーザーに設定を忘れさせる「可視性」の側面を設定することになります。さらに、ユーザーが1つのアスペクトを変更する場合、ほとんどの場合、別のアスペクトを変更する必要があり、1回の呼び出しで変更できます。

1
Cライブラリが同じ名前のマクロと関数を使用するのはなぜですか?
PJ Plaugerの「The Standard C Library」を読んでいますが、これは本当に興味深いです。この本では、ライブラリの使用方法だけでなく、ライブラリの実装方法についても説明しています。 ctype.hセクションを読み終え、ヘッダーで関数がマクロと関数の両方として宣言されています。例えば int isdigit(int); だけでなく #define isdigit(c) (_Ctype[(int)(c)] & _DI) 両方が使用される理由がわかりませんか? また、独自のカスタムを再作成しようとすると ctypeヘッダーと実装とすると、マクロを削除する(定義をコメントアウトする)場合にのみ正常にコンパイルできます。 この側面は本で実際に説明されていませんでした。誰か説明してもらえますか?
20 c  naming  functions  macros 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.