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

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

4
抽象クラスの一般的な名前を避ける方法は?
一般に、ファイルハンドルやUNIXプロセスなどを扱っていない限り、ルーチン名やクラス名の一部として「ハンドル」や「プロセス」などの単語を使用しないことをお勧めします。しかし、抽象クラスは、処理などの他に何かをどうしようとしているのか、実際には分からないことがよくあります。私の現在の状況では、ユーザーの受信ボックスにログインして、そこからのメッセージを処理する「EmailProcessor」があります。次のスタイルの問題が発生することに気づきましたが、これをより正確な名前にする方法は本当にわかりません。 派生クラスをクライアントとして扱い、実装する機能の一部によって基本クラスに名前を付けた方が良いですか?より意味を与えますが、is-aに違反します。たとえば、EmailAcquirerは、派生クラスのために取得しているため、適切な名前になりますが、派生クラスは誰のためにも取得しません。 あるいは、派生クラスが何をするのか誰が知っているので、本当にあいまいな名前です。ただし、「Processor」は、ログインやIMAPの使用など、関連する多くの操作を実行しているため、まだ一般的すぎます。 このジレンマから抜け出す方法はありますか? 問題は、「これは何をするのか」という質問に実際に答えることができない抽象メソッドの場合により明白になります。答えは単に「クライアントが望むものは何でも」だからです。

3
.NETのインターフェイスの「I」プレフィックス命名規則の背後にある理由は何ですか?
"I"規約がCOM以来存在していたことは知っていますが、.NETが登場する前に他のすべての命名規約のように再検討されなかった理由を理解したことはありません。 消費に関しては、たとえば抽象クラスからインターフェースを分離する唯一のことは、それらが多重継承できることです。しかし、Visual Studio 2003以降のすべてのツールチップには型シグネチャが表示されているため、破棄された他のすべてのハンガリー語の表記と同じくらい役に立ちません。 また、私はそれはあなたが同じ名前を持つインタフェースの基本的な実装を持つことができるようになるかもしれないと思った、例えばMessage継承IMessageが、.NETライブラリのほとんどは(例えば末尾に単語「ベース」を追加するために行っているSystem.Collections.ReadOnlyCollectionBase代わりに) -これはより意味のある意味になります。 COM相互運用機能は別の考えられる理由のようですが、それが生成するラッパークラスが完全に慣用的な.NETであるかのようではないので、それが審美的な考慮事項だったとは思えません。 私の新しいプロジェクトの1つで、私は大会を完全に断念しました。行方不明のものはありますか?
10 .net  naming 

1
ブール値を返すメソッドは、質問またはアサーションの後に名前を付ける必要がありますか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 6年前休業。 多くの命名規則では、ブール値を返すメソッド(述語メソッドとも呼ばれる)は、質問の後に名前を付けることを推奨しています。私の質問は、メソッドがアサーションにちなんで名付けられるべきだという意味ではないのか? わずかな違いかもしれませんが、場合によっては別の名前になります。 質問:is_pixel_transparent(...) アサーション:pixel_is_transparent(...) 時々、これは違いがなく、フレージングは​​同じです: 質問:end_of_file(...) アサーション:end_of_file(...) さらに、ほとんどの場合、人々が「質問」と呼ぶものは実際にはアサーションです。 key_exists(...)->これは問題ではありません。これは主張です。 使用例:if(key_exists(...))... array_contains_element(...)->これは問題ではありません。これはアサーションです。使用例:if(array_contains_element(...))... だから、質問を言い換えると、質問をするとき、誰もが主張を意味するのですか?

5
ドロップダウンラベルでByRefとByValを参照するにはどうすればよいですか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 4年前休業。 MSDNのページのByRefやByValキーワードは非常に有用ではありません。なんとかスキップしない限り、どこでも単に「キーワード」と呼ばれています。 主な要因の一つRubberduckのプロジェクトは非常にクールに取り組んでいるカプセル化フィールドのリファクタリングを、と私はのドロップダウン上記のラベルに問題が持っている以外UIはかなりきれい..沿って来ているByRef/ ByVal「アクセシビリティ」と言う、と。 私は他の場所でそれを使用しているので、私は「アクセシビリティ」好きではないPublic/ Private/ Friendそれは、より正確な感じアクセス修飾子。 IMOは「アクセス修飾子」の略なので、「修飾子」を使用したくありません。 そのラベルを正確にしたいのですが、語彙が不足しているようで、これらのキーワードを何と呼ぶべきかわかりません。 正確に言うと、このラベルは何を言うべきですか?私が探している言葉は何ですか?「キーワードの家族は」何をByRef/ ByValに属し?
9 naming  ui  vba 

3
同じ名前のクラスを処理する方法(異なるパッケージ)
私と私のR&Dチームは、大規模なコードベースを維持しています。ビジネスロジックを複数のパッケージに分割しました。そのうちのいくつかは持っている同じ名前のクラスを。 ご想像のとおり、両方のクラスが同じJavaファイルで参照されている場合、名前は競合します。 例えば: com.myapp.model (package) - Device (class) - ... com.myapp.data (package) - Device (class) - ... これらのケースを処理するためのベストプラクティスは何かについて議論があり、次のオプションが考えられました。 最初のオプション クラスの名前を変更し、接頭辞を追加する ModelDevice DataDevice 2番目のオプション 両方が参照されている場合の完全なパッケージ+クラス名の使用 com.myapp.model.Device com.myapp.data.Device コード管理とスケーラビリティの点でより正しいものは何ですか? 現在、両方のアプローチを組み合わせており、矛盾が生じ始めています

5
関数が外部からアクセスされていることを明確にする方法は?
これはC固有の質問です。私は可能な限りすべてを翻訳単位の境界内に保ち、.hファイルを介していくつかの関数のみを公開することを試みています。つまり、staticファイルレベルのオブジェクトへのリンクを提供しています。 ここで、いくつかの関数を他のモジュールから呼び出す必要がありますが、直接呼び出す必要はありません。私のモジュール/ファイル/翻訳ユニットは他のモジュールにサブスクライブし、関数へのポインターを渡します。次に、特定のイベントが発生すると、いくつかの引数を指定してポインターが呼び出されます。 したがって、これらの関数があいまいな場所から呼び出されていることを非常に明確にする方法を知りたいと思います。 彼らは、あるべきstaticかextern(及び、それらを公開しますか.h)? 関数の名前にいくつかのヒントを含める必要がありますか? それとも、「Xから呼び出されました」というコメントで十分ですか?

3
クイックソートが「クイックソート」と呼ばれるのはなぜですか?
この質問の目的は、他の並べ替えアルゴリズムに対してこのメ​​リットを議論することではありません-これを行う他の多くの質問があります。この質問は名前についてです。クイックソートが「クイックソート」と呼ばれるのはなぜですか?確かに、それはほとんどの場合「迅速」ですが、常にというわけではありません。O(N ^ 2)に退化する可能性はよく知られています。この問題を軽減するさまざまな変更がクイックソートにありますが、最悪の場合を保証されたO(n log n)に下げるものは、一般にクイックソートと呼ばれなくなりました。(例:Introsort)。 よく知られているすべてのソートアルゴリズムのなかで、これが「クイック」という名前に値する唯一の理由であることに疑問を感じます。これは、アルゴリズムの動作方法ではなく、通常(通常)の速度を表します。Mergesortは、データをマージするため、それと呼ばれています。ヒープを使用するため、ヒープソートと呼ばれています。Introsortは、QuicksortからHeapsortに切り替えるタイミングを決定するために自身のパフォーマンスを監視するため、「Introspective」からその名前を得ています。同様に、すべての遅いもの(バブルソート、挿入ソート、選択ソートなど)についても同様です。私が考えることができる他の唯一の例外は「Bogosort」です。これは実際には誰も実際に実際に使用したことのない単なる冗談です。クイックソートが「パーティションソート」や「ピボットソート」など、より説明的なものと呼ばれないのはなぜですか。それが実際に何をしているのか?それは「最初にここに来た」の場合でさえありません。MergesortはQuicksortの15年前に開発されました。(ウィキペディアによると、それぞれ1945年と1960年) これは、プログラミングの問題というより、歴史の問題だと思います。私はそれがどのように名前を付けたのか興味があります-それはちょうど良いマーケティングでしたか?

1
関連するクラスとインターフェースの命名
データソースとしてObjectParserを使用しIObjectParserDataSourceて、厳密に型指定されたオブジェクトにデータを解析するクラスを作成しました(データは、Excelファイル、テキストファイル、配列、クエリ文字列など)。 私の実装例IObjectParserDataSourceは次のとおりです。 TextFileObjectParserDataSource ExcelFileObjectParserDataSource これらのクラス名は本当に長く複雑に感じられます。 それらに名前を付けることができます: TextFileDataSource ExcelFileDataSource しかし、これはある程度のあいまいさをもたらし、IObjectParserDataSource一見しただけでは明確に関連するようにはなりませんでした。これらのデータソースの定義はクライアントコードで行われ、混乱や不確実性の可能性を最小限に抑えたいので、これは重要になります。 このようなシナリオでは、これらのクラスにどのような名前を付けますか?

1
(共通の)フレームワーク名と競合するクラス名で何をすべきか
コンポーネントの最も明白なクラス名がフレームワークによって使用される場合、正確に何をする必要がありますか?私の場合、HTTPリクエストを記述するクラスを作成する必要があります。もちろん、最も一般的な名前はSystem.Web.HttpRequestとして「取得」されます。私は何をすべきか?このプロジェクトはWebコンテキストで使用されるので、System.Web名前空間をインポートしないように強制したり、手動ですべてのクラス名を入力したりしないでください。 これに対処する通常の方法は何ですか?私はこれを思いつくことができます: プロジェクトの短縮名をクラス名の前に付ける 同じことを意味する別の名前を付けてみてください(私は試しましたが、何も思いつきません) ユーザーに名前空間の選択を強制する
9 c#  .net  naming  namespace 

5
拡張子のないC ++ヘッダーファイルを使用することは良い習慣ですか?
私が従うべきC ++ガイドラインに関して私の同僚と議論があります。 彼は現在、すべてのライブラリをそのように設計しています。 彼はファイル名に一貫性のない大文字と小文字を使用しています 彼のヘッダーの一部には拡張子がありません 拡張子がないことはC ++標準ファイル用に予約されているものであり、大文字を使用するとエラーが発生しやすくなると考えています(特に、WindowsとLinuxの両方で機能するコードを扱う場合)。 彼のポイントは、彼がQt(Qtを使用しないコードの場合でも)慣例に従い、「Qtがそのように実行する場合、それは悪いことではない」と言い続けることです。 今、私はオープンマインドを保つようにしていますが、彼のライブラリで/彼のライブラリで作業しなければならないときは本当に気分が悪いです。これに関して共通して確立された一連のルールはありますか?標準はそれについて何かを教えていますか? どうもありがとうございました。
9 c++  naming 

5
クラスとネイティブクラスの名前の類似をどのように回避しますか?[閉まっている]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 4年前休業。 私は「興味深い問題」に出くわしました。 私はシステムを開発しており、多くの理由(つまり、抽象化、テクノロジーの独立性など)のために、情報を交換するための独自のタイプを作成しています。 たとえば、SendEmailと呼ばれ、ビジネスロジックによって呼び出されるメソッドがある場合、その方法には、OurCompany.EMailMessageタイプのパラメーターが含まれます。インスタンス、情報なし、ヘッドエンコード)。 SendEmail関数内で、この情報をEMailMEssageオブジェクトから取得し、MailMessage(これは技術固有のものです)オブジェクトを作成して、ネットワーク経由で送信できるようにします。 すでにお気づきのとおり、このクラスの名前は「ネイティブ」言語クラスとよく似ています。問題は、これがまさにメールメッセージであるため、それらに意味のある別の名前を見つけるのが難しいことです。 この問題は頻繁にありますか?どのように管理しますか? 編集:@mgkrebbsは、完全修飾名の使用についてコメントしました。これは私たちの現在のアプローチですが、少し冗長すぎます。できれば、もっときれいなものをお願いします。

4
バージョン管理に保存された画像のファイル命名規則?
私のアプリケーションには、バージョン管理に保存されているアイコンファイルがあります。明日はアイコンを変えることにするかもしれません。私は、アイコンファイルの2つの可能な命名規則の間で議論しています: ファイル名は固定してください(例:application.ico)。 ファイル名に画像の性質を反映させます(例:happyface.ico)。 オプション1は、ファイルが何であるかを言いません。大きく異なる2つの画像が同じものの「バージョン」がどういうわけか異なるという錯覚を与える可能性があります。オプション2では、新しいファイルを追加して古いファイルを削除するだけでなく、新しいアイコンのファイル名を反映するようにリソースファイルを変更する必要があります。 関連するが異なる角度で: ヘッダー画像のあるウェブサイト。ファイル名はheader.jpgまたはsunrise-family-smiling.jpgですか? 画像ファイル名は、アプリケーションでの機能やコンテンツを反映する必要がありますか?このためのベストプラクティスは何でしょうか?

4
クラスの命名が衰弱する[終了]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 4年前休業。 これがOCDトレイトであるかどうかはわかりませんが、クラス(または関数、名前空間など)に名前を付けると、外部で使用されると思われる場合、完全にブロックされて処理を続行できなくなることがあります特定のプロジェクトの。たとえばAPI。またはユーティリティクラスライブラリ。 (私の心の中で)ネーミングが正確でない場合、私は続けることができません...正しい名前を考え出そうとして、行き詰まってしまいます。名前を確認するためにそれを使用する小さなアプリを書いてみましたが、それは役に立たないようです... 私はそれが問題ではないことを知っています、そしてあなたが最初にそれを完璧にすることを前提とすることはプログラミングの考え方に反します...私はそれに無力だと感じます... ヒント/アイデアをいただければ幸いです...

7
仕様書、ユースケース、またはシナリオで顧客の顧客を何と呼びますか?
私のチームと私は、顧客との対話に使用するソフトウェアを開発しています。さらに、私たちは自分たちのドッグフードを食べ、ソフトウェアを使用して顧客と対話します。 したがって、私たちの従業員はオペ​​レーターになることができ、お客様はオペレーターになることができ、お客様のお客様は訪問者になることができるため、ユースケースやシナリオを説明するのは難しい場合があります。 ただし、お客様はオペレーターの従業員とやり取りする訪問者である場合もあり、お客様のお客様は私たちの顧客または従業員とやり取りする訪問者である場合もあります。 ここにモデルがあります: A is an employee B is a customer C is our customers' customer X interacts with Y Operator --> Visitor A --> B A --> C B --> C 時にはお客様がさまざまな役割を演じることがあるため、従業員と顧客ではなく、オペレーターまたは訪問者という特定の役割を参照する必要がある場合があります。 いつも「お客様のお客様」と言っても一口です。 他の開発ショップがこれらのセマンティックの詳細をどのように処理するのか、それらのユースケースとシナリオを書くときに疑問に思いました。 第3レベルの俳優を含む製品に適用できる一語の一般的な用語はありますか? 特定の役割であるオペレーターと訪問者を使用する以外に、顧客の顧客を識別するためにどのような言葉を使用できますか? 単語は、組織内で採用されるように十分に短くする必要があります。2音節より長い場合でも、短縮形は他の俳優と区別する必要があります。

2
APIはen_USまたはen_GB、あるいはその両方にある必要がありますか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 4年前休業。 APIを米国のスペルまたは英国のスペルで作成する必要がありますか?または、両方を1つにマッピングし、内部で私が好きな人を使用して両方が機能するようにする必要がありますか?現在、ほとんどのAPIは米国のスペルになっています。それの解決策は何ですか? 編集:これを標準化する方法はありますか?両方サポートできますか?

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