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

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

2
命名規則DAL、BAL、およびUIレイヤー[非公開]
次のレイヤーを持つ典型的なWebアプリケーションを開発しています UIレイヤー(MVC) ビジネスロジックレイヤー(BAL) データアクセス層(DAL) 各レイヤーには、BALおよびDALを含む独自のDTOオブジェクトがあります。これに関する私の質問は次のとおりです DALによって返されるDTOは、BAL内の対応するDTOに変換され、UIレイヤーに送信されるだけです。場合によっては、DTOオブジェクトの属性と構造の両方が同じです。このようなシナリオでは、中間オブジェクトを含めずに、DALのDTOをUIレイヤーに単純に返すことをお勧めします。 これらのDTOオブジェクトと各レイヤーの他のオブジェクトに名前を付ける最良の方法は何ですか。DTOName、ServiceNameなどのプレフィックスを使用する必要がありますか?プレフィックスを使用するように求めている理由は、ソリューションのクラスがフレームワークの他のクラスと競合していない場合、プレフィックスが各クラスがどこに属しているかを理解しやすいためです?
35 c#  design  naming 

8
Javaでインターフェースを実装する場合のデフォルトとImpl
読んだ後、パッケージ名は単数形か複数形か?私は、自分のペットの探求の1つであるインターフェイスの実装の命名に関する適切な議論を見たことがないことに気付きました。 Orderさまざまな方法で実装することを目的としたインターフェースを持っているが、プロジェクトが最初に作成されたときの最初の実装のみがあると仮定しましょう。あなたはのために行くかDefaultOrderまたはOrderImpl虚偽の二分法を避けるために、または他のいくつかの変種?そして、実装が増えたらどうしますか? そして最も重要なのはなぜですか?

9
タスクを実行し、ステータスとしてブール値を返すメソッドの名前を付ける方法は?
方法がある場合 bool DoStuff() { try { // doing stuff... return true; } catch (SomeSpecificException ex) { return false; } } むしろ呼ばれるべきIsStuffDone()ですか? ユーザーは両方の名前を誤って解釈する可能性があります。名前がDoStuff()理由である場合、ブール値を返しますか?名前がIsStuffDone()メソッドの場合、メソッドがタスクを実行するのか、結果のみをチェックするのかは明確ではありません。 この場合の規則はありますか?または、これは欠陥と見なされるため、代替アプローチですか?たとえば、C#などの出力パラメーターを持つ言語では、ブールステータス変数を1つとしてメソッドに渡すことができ、メソッドの戻り値の型はになりますvoid。 編集:私の特定の問題では、メソッドはインターフェイス実装の一部であるため、例外処理を呼び出し元に直接委任することはできません。したがって、呼び出し側は、異なる実装のすべての例外を処理することはできません。これらの例外に精通していません。ただし、呼び出し元はStuffHasNotBeenDoneForSomeReasonException、npintiのanswerおよびcommentで提案されたようなカスタム例外を処理できます。

9
識別子が数字で始まらないのはなぜですか?
ほとんどのプログラミング言語は、数字で始まる識別子を宣言できないように設計されているようです。理由を知りたいだけです。私はすでにウェブを検索しましたが、満足のいく説明を見つけることができませんでした。
32 naming  variables 

6
ビジネスクラスにはどの言語で名前を付ける必要がありますか?
この質問でベストプラクティスを要求しています。これは、顧客会社が英語以外の母国語を厳密に持っている場合にのみ問題になると思います。 顧客が主に非常にドメイン固有の(たとえば、ドイツ語)表現を多く持っており、ドメイン固有ではないいくつかの名前が混在している場合。コードコメントの言語、クラス/メソッド/変数名は英語です。すべてのドメイン固有の名前を翻訳しますか?
29 naming 

2
XMLHttpRequestが命名規則に従っていないように見えるのはなぜですか?
私は最近JavaScriptでXMLHttpRequestオブジェクトを操作してきましたが、この名前の大文字と小文字が意味をなさないことに気づかずにはいられませんでした。「XML」はすべて大文字ですが、「Http」は大文字ではないのはなぜですか?両方とも頭字語です! 名前が次のいずれかであると、より意味があります。 XmlHttpRequest (PascalCase、JavaScriptのクラス名のベストプラクティス) xmlHttpRequest (camelCase、クラス用ではないが一般的) XMLHTTPRequest (頭字語のキャップ、プログラミングではめったに使用されない?) 何らかの理由があるに違いないと確信しているし、誰もこれを疑問視しなかったからといって、今ではそれが石になっているとは思わない。私が知らない別の命名規則はありますか?

6
HTML / CSSの命名規則に関する実用的な考慮事項(構文)[終了]
質問: 構文classおよびid値の実用的な考慮事項は何ですか? たとえば、このブログ投稿で説明されているように、セマンティクス、つまり使用されている実際の単語については聞いていないことに注意してください。命名規則のその側にはすでに多くのリソースがあり、実際には、さまざまな構文上のビットに関する実用的な情報の検索をあいまいにしています:大文字小文字の区別、インターパンクションの使用(特にダッシュ)、使用または回避する特定の文字など- 私がこの質問をしている理由を要約すると: 命名制限にIDとクラスが自然に任意の規則につながりません 命名規則のセマンティック側の豊富なリソースは、構文上の考慮事項の検索をあいまいにします これに関する信頼できる情報源が見つかりませんでした このトピックについては、SEプログラマーに関する質問はまだありませんでした:) 私が使用を検討した慣例のいくつか: UpperCamelCase、主にサーバー側のコーディングからのクロスオーバーの習慣として lowerCamelCase、JavaScript命名規則との一貫性のため css-style-classes、これはcssプロパティの命名と一致しています(ただし、Ctrl + Shift + ArrowKeyでテキストを選択すると迷惑になる場合があります) with_under_scores、私は個人的にあまり使用されていません alllowercase、覚えやすいが、長い名前では読みにくい UPPERCASEFTW、仲間のプログラマを困らせる素晴らしい方法として(おそらく読みやすさのためにオプション4と組み合わせる) そしておそらく、私はいくつかの重要なオプションや組み合わせも省略しました。命名規則にはどのような考慮事項があり、どの規則につながるのでしょうか?

7
ハンガリーの表記法は、表現が不十分な静的型付けの言語の回避策ですか?[閉まっている]
Eric Lippertの記事「What's Up With Hungarian Notation?」、彼はハンガリー記法(良い種類)の目的は ストレージ表現情報に加えてセマンティック情報を含むように「タイプ」の概念を拡張します。 簡単な例は、X座標を表す変数の前に「x」を、Y座標を表す変数の前に「y」を付けることです。これらの変数は整数か浮動小数点かどうかに関係なく、xFoo + yBar、コードは明らかに間違っています。 しかし、私はHaskellの型システムについても読んでおり、Haskellでは、コンパイラがチェックする実際の型を使用して同じことを達成できるようです(つまり、「型の概念を拡張して意味情報を含む」)。したがって、上記の例ではxFoo + yBar、プログラムを正しく設計すると、Haskellで互換性のない型として宣言されるため、実際にコンパイルに失敗します。つまり、Haskellの型システムは、ハンガリー語表記と同等のコンパイル時チェックを効果的にサポートしているようです。 それでは、ハンガリー記法は、型システムが意味情報をエンコードできないプログラミング言語の単なるバンドエイドなのでしょうか?または、ハンガリー記法は、Haskellのような静的型システムが提供できる以上のものを提供しますか? (もちろん、私はHaskellを例として使用しています。他の言語も同様に表現力豊かな(リッチ?ストロング?)型システムを備えていると確信していますが、私はまったく遭遇していません。 明確にするために、私はしていないと、変数名に注釈を付けるの話データタイプではなく、に関する情報を意味プログラムのコンテキスト内の変数の。たとえば、変数は整数、浮動小数点、倍精度、長整数などの場合がありますが、変数の意味は、インチ単位で測定される相対x座標であることです。これは、ハンガリー記法(およびHaskell型)を介したエンコードについて話している種類の情報です。

5
Javaパッケージ名の規則に欠陥はありますか?[閉まっている]
私たちは皆、ドメイン名を変えるJavaパッケージ名の慣習に精通しています。つまりwww.evilcorp.com、慣例により、Javaパッケージを使用することを選択しますcom.evilcorp.stuff。 ますます私はこれにうんざりしています。商用プログラマーとして、ソフトウェアのパッケージ名はブランドの変更、買収などのために完全に無関係であるということに何度も遭遇します。 オープンソースの世界では名前の変更が少ないので、理にかなっています。しかし、多くの(商用/内部)ソフトウェアの保存期間は、それらを作成する組織の保存期間よりもはるかに長いようです。 この問題は、ソフトウェアプロジェクトがマーケティング部門を率いて、特定のプロジェクトを指すdu duという名前を使用することで、さらに悪化することがよくあります。皇帝の新しい服に新鮮で新しい感じを与えるために、3か月後に必ず変更される名前。 このため、逆ドメインをパッケージ名として使用することをほとんどやめました。確かに、これが大規模に行われた場合、名前の衝突のリスクがありますが、「ユニークな」ソフトウェア名を使用するか、一般的な言葉を避けるか、ライブラリとして販売/リリースされるプロジェクトにリバースドメインを使用することで確実に軽減されます。 他の考え?
28 java  naming 

4
実装クラスで設計パターン名を使用するのは良い考えですか?[閉まっている]
最近、私はたくさんの適度に大きなPythonのコードベースに出くわしたMyClassAbstractFactory、MyClassManager、MyClassProxy、MyClassAdapterなどのクラス。 一方で、それらの名前は、対応するパターンを調査し、学習するように私を指し示しましたが、クラスが何をするのかをあまり説明していませんでした。 また、彼らはプログラミングの単語の禁止リストに収まるように見える:variable、process_available_information、data、amount、compute:私たちの機能については何も教えていない、過度に広範な名前、単独で使用する場合。 CommunicationManagerそれとも、あるべきPortListenerでしょうか?または、私は問題をまったく理解していないかもしれません...?

9
一時的な回避策として、メソッド名にバグ番号を含めるのは悪い習慣だと考えられていますか?
シニアの同僚である同僚が、コードのレビューで私をブロックしているのは、欠陥###の回避策であるため、メソッドに 'PerformSqlClient216147Workaround'という名前を付けてほしいからです。今、私のメソッド名の提案は、PerformRightExpressionCastのようなもので、メソッドが実際に行うことを説明する傾向があります。彼の議論は「この方法はこの場合の回避策としてのみ使用され、他のどこにも使用されない」という線に沿っています。 一時的な回避策としてメソッド名にバグ番号を含めることは悪い習慣と見なされますか?

4
ライブラリのC#名前空間とクラスの命名規則
C#でさまざまな小さなユーティリティ関数を使用してライブラリを構築し、名前空間とクラスの命名規則を決定しようとしています。私の現在の組織は次のようなものです。 Company Company.TextUtils public class TextUtils {...} Company.MathsUtils public class MathsUtils {...} public class ArbitraryPrecisionNumber {...} public class MathsNotation {...} Company.SIUnits public enum SISuffixes {...} public class SIUnits {...} これは名前空間とクラスを整理するのに良い方法ですか、それとももっと良い方法がありますか?特に、名前空間とクラス名(Company.TextUtils名前空間とTextUtilsクラスなど)に同じ名前を付けることは単なる重複であり、スキームがより良い可能性を示唆しています。
26 c#  naming  namespace 

5
なぜ「ハッシュテーブル」または「ハッシュ関数」と呼ばれるのですか?ハッシュはここでは意味がありません[非公開]
ハッシュテーブルとハッシュ関数を使用し、聞いて、話し、実装しているのは、現在約4年の開発です。しかし、なぜそれがハッシュと呼ばれるのか、私は本当に理解できませんか? プログラミングを始めた最初の日を思い出します。この用語は、私にとって面倒な用語でした。その名前に基づいて、私はそれが何であるかを決して理解しませんでした。私は実験的に理解し、それが何をするかとなぜ、ときに我々はそれを使用する必要があります。 しかし、私はそれがなぜhashと呼ばれるのかを理解しようとすることがあります。私はテーブルや関数に問題はありません、そして正直に言うと、それらはかなり演de的で合理的な用語です。ただし、keyやuniquenessなど、ハッシュの代わりに、より良い単語を使用できると思います。キーテーブルまたは一意性テーブルを使用しないでください。 私の辞書によると、ハッシュは以下を意味します: ジャガイモと肉の炒め物(非常に無関係) #記号(別名、番号記号、ポンド記号など)(それでも関連性はなく、単なる命名法です) 文字列にアルゴリズムを適用します(ハッシュテーブルの最も重要な機能である一意性とはまだ関係ありません) 食べ物を切る ハシッシュの別の用語 ハッシュと呼ばれる理由を知っている人はいますか?
26 naming 

3
C#の宣言型と同じ名前をプロパティ/メンバーに付けるのは悪い習慣ですか?
たとえば、次のようなクラス: class Dog { } //never mind that there's nothing in it... そして、次のようなプロパティ: Dog Dog { get; set; } もっと想像力に富んだ名前が思いつかない場合は、次を使用する必要があると言われました。 Dog DogObject { get; set; } これらの名前をより良くする方法についての考えはありますか?
25 c#  naming  properties 

8
意味のある簡潔なメソッド命名ガイドライン
最近私はオープンソースプロジェクトのリリースを開始しましたが、私はライブラリの唯一のユーザーでしたが、名前は気にしませんでしたが、学習しやすくするために各メソッドに巧妙な名前を割り当てたいことを知っていますが、簡潔な名前を付けて、簡単に記述できるようにします。 命名に関するいくつかのガイドラインについて考えていましたが、文字の大文字小文字やいくつかの簡単なメモだけに注意を払う多くのガイドラインを知っています。ここでは、意味のある、しかし簡潔な命名のガイドラインを探しています。 たとえば、これは私が検討しているガイドラインの一部です。 既存のアイテムをターゲットに追加する場合は「追加」を使用し、新しいアイテムを作成してターゲットに追加する場合は「作成」を使用します。 既存のアイテムをターゲットから削除する場合は[削除]を使用し、アイテムを完全に削除する場合は[削除]を使用します。 AddXXXメソッドをRemoveXXXメソッドとペアリングし、CreateXXXメソッドをDeleteXXXメソッドとペアリングしますが、これらを混在させないでください。 上記のサンプルが示すように、英語の文法と単語の意味に準拠する命名方法やその他のアイテムを支援するオンライン資料を見つけたいと思います。 上記のガイダンスは、英語を母国語とする人にとって直感的かもしれませんが、私にとっては英語が私の第二言語であると私はこのようなことについて話す必要があります。
25 naming 

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