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

命名規則は、変数やメソッドなどのプログラミング構造に割り当てられた名前を管理する一般的な規則を指します。これらの規則により、読みやすさが向上し、異なるモジュール間で命名の一貫性が強化されるため、コードの保守性が向上します。

8
列挙型と一致するプロパティのC#命名規則
私は自分のステータスプロパティを列挙型として保持するクラスを実装していることがよくあります。Status列挙型とStatus型のONE Statusプロパティがあります。この名前の競合を解決するにはどうすればよいですか? public class Car { public enum Status { Off, Starting, Moving }; Status status = Status.Off; public Status Status // <===== Won't compile ===== { get { return status; } set { status = value; DoSomething(); } } } Status列挙型がさまざまなタイプに共通である場合、それをクラスの外に置いて問題を解決します。ただし、ステータスは車にのみ適用されるため、クラス外で列挙型を宣言することは意味がありません。 この場合、どの命名規則を使用しますか? 注意:この質問は、この質問の回答のコメントで部分的に議論されました。それがなかったので、メインの問題、それは多くの可視性を取得できませんでした。 編集:Filip Ekbergは、「ステータス」の特定のケースに対してIMOの優れた回避策を提案しています。それでも、Michael Preweckiの回答のように、列挙型/プロパティの名前が異なるソリューションについて読むのは興味深いでしょう。 EDIT2(2010年5月):私のお気に入りの解決策は、Chris Sの提案に従って列挙型の名前を複数形にすることです。MSのガイドラインによると、これはフラグ列挙型にのみ使用する必要があります。しかし、私はそれをますます好きになりました。現在は通常の列挙型にも使用しています。

28
GB英語、または米国英語?
APIを使用していて、非常に国際的なオーディエンスを持つ英国ベースの開発者である場合、APIは setColour() または setColor() (1つの単語を簡単な例として取り上げます。) 英国に拠点を置くエンジニアは、多くの場合、「正しい」スペルについてかなり防御的ですが、米国のスペルは国際市場ではより「標準的」であると主張できます。 問題はそれが問題なのでしょうか?他のロケールの開発者はGBスペルに苦労していますか、それとも通常、意味がかなり明白ですか? すべてを米国英語にする必要がありますか?

12
Java booleanゲッター「is」と「are」
ブールゲッターのJavaの規則には、接頭辞「is」が含まれていることを知っています。 isEnabled isStoreOpen しかし、件名が複数の場合はどうでしょうか?つまり、店舗が開いているかどうかを知りたいのではなく、すべての店舗が開いているかどうかを知りたい場合はどうなりますか? isStoresOpen() 英語では意味がありません。 私は次のようなゲッターを書きたくなります: areStoresOpen areDogsCute areCatsFuzzy そして、私はそれが意味をなすだろうと思うが、私はちょうどそれを吸うと契約し、利用動詞主題を放棄すべきであることを他の人が言われてきましたisStoresOpen、isDogsCute、isCatsFuzzy。 とにかく、複数のサブジェクトで動作するブールゲッターにはどうすればよいですか?

14
ユーザーインターフェイスの「ID」または「Id」
私が働いているQAマネージャーから、「オペレーターID」であるはずのサインオンプロンプトが「オペレーターID」であるため、デスクトップアプリにバグがあると通知されました。彼女の主張は、「Id」はフロイトの「精神的装置」の自我部分を指し、意味的に正しくないというものです。 今はアナルエンジニア(AE)なので、もちろんIDとIDを調べなければなりませんでした。大雑把な調査(グーグル)から、IDはフロイトのエゴにIdと同じくらい一般的に使用されているようです。 したがって、私の推論は、Idは「識別子」の短縮バージョンであり、通常2語の略語を示すIDよりも正確であるか、少なくともより一般的に使用されているということです。 UIを変更することもできますが、AEとしての職業を維持することはできなかったので、議論をサポートするために使用できるこの種のベストプラクティスやリファレンスがあるかどうか疑問に思いました。この質問は、略語と大文字小文字がまったく異なる哲学の分野であるソースコードではなく、ユーザーインターフェイスに関連していることに注意してください。

10
「fooの数」変数の命名規則[クローズ]
クローズ。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 3年前に閉鎖されました。 この質問を改善する fooオブジェクトの数を変数に格納する必要があるとしましょう。 英語を母国語としないので、私はいつもその変数の最良の(=短くてすぐに明確な)名前は何だろうと思っています。 foo_num?num_foo?no_foo?foo_no?または、他の何か? フルネームはである必要がnumber_of_foosありますが、少し冗長です。 あなたのお気に入りは何ですか、そしてその理由は何ですか?

9
アセット(画像、css、js)の命名規則?
Webプロジェクトで使用される画像、js、cssファイルなどのアセットの適切な命名規則を見つけるのにまだ苦労しています。 だから、私の現在は次のようになります: CSS: style-{name}.css 例:style-main.css、style-no_flash.css、style-print.cssなど JS: script-{name}.js 例:script-main.js、script-nav.jsなど 画像: {imageType}-{name}.{imageExtension} {imageType}これらのいずれかです アイコン(例:ヘルプコンテンツの疑問符アイコン) img(例:<img />要素を介して挿入されたヘッダー画像) ボタン(例:グラフィカルな送信ボタン) bg(画像はcssの背景画像として使用されます) スプライト(画像はcssの背景画像として使用され、複数の「バージョン」が含まれています) 例-名前は次のようになりますicon-help.gif、img-logo.gif、sprite-main_headlines.jpg、bg-gradient.gifなど それで、あなたはどう思いますか、そしてあなたの命名規則は何ですか?

15
Javaプロジェクトでパッケージの命名にどの戦略を使用していますか。その理由は何ですか。[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 3年前休業。 この質問を改善する 私はしばらく前にこれについて考えましたが、私の店が最初の実際のJava Webアプリを実行しているときに最近再浮上しました。 イントロとして、2つの主要なパッケージ命名戦略を見ます。(明確にするために、この「domain.company.project」の部分全体を指すのではなく、その下のパッケージ規則について話しています。)とにかく、私が見るパッケージの命名規則は次のとおりです。 機能:パッケージを、ビジネスドメインに基づくIDではなく、機能に応じてアーキテクチャに名前を付けます。 これの別の用語は、「レイヤー」に基づく名前付けかもしれません。したがって、*。uiパッケージ、*。domainパッケージ、および* .ormパッケージがあります。パッケージは垂直ではなく水平スライスです。 これは論理的な命名よりもはるかに一般的です。実際、これを行うプロジェクトを見たことも聞いたこともないと思います。もちろん、私はひどく頭がよくないので(NPの問題の解決策を思いついたようなものです)、誰もが自分のやり方でやるには大きな理由があるはずだと思います。一方、私はちょうど部屋に象を行方不明の人に反対していないよと、私は実際の引数聞いたことがないため、このように名前を付けるパッケージをやって。それは事実上の標準のようです。 論理:パッケージをビジネスドメインIDに従って名前を付け、その垂直方向の機能スライスに関係するすべてのクラスをそのパッケージに入れます。 前に述べたように、これについては見たり聞いたりしたことがありませんが、それは私にとっては意味のあることです。 私はシステムを水平ではなく垂直にアプローチする傾向があります。データアクセス層ではなく、注文処理システムを開発したいと考えています。明らかに、そのシステムの開発でデータアクセス層に触れる可能性は十分ありますが、重要なのは、そのように考えていないということです。これが意味することは、もちろん、変更要求を受け取ったり、いくつかの新しい機能を実装したりするときに、関連するすべてのクラスを見つけるために、たくさんのパッケージを探し回る必要がないのは素晴らしいことです。代わりに、私がしていることはXと関係があるため、Xパッケージを調べるだけです。 開発の観点から、私はあなたのパッケージがあなたのアーキテクチャーではなくあなたのビジネスドメインを文書化することは大きな勝利だと思います。ドメインはほとんど常にシステムの一部であり、システムのアーキテクチャが、特にこの時点で、実装においてほぼ平凡になっているため、理解するのが難しいように感じます。このタイプの命名規則を使用してシステムにアクセスでき、パッケージの命名から即座にシステムが注文、顧客、企業、製品などを扱うことができるという事実は、かなり便利なようです。 これにより、Javaのアクセス修飾子をより効果的に利用できるようになります。これにより、システムのレイヤーではなくサブシステムへのインターフェースをより明確に定義できます。したがって、透過的に永続化したい注文サブシステムがある場合、理論的には、DAOレイヤーに永続クラスへのパブリックインターフェイスを作成せずに、DAOクラスをそれが扱うクラスだけで。もちろん、場合あなたは、この機能を公開したかった、あなたはそれのためのインタフェースを提供したり、それを公開することができます。システム機能の垂直スライスを複数のパッケージに分割することで、これの多くを失うようです。 私が見ることができる1つの不利な点は、それがレイヤーの切り取りを少し難しくすることだと思います。パッケージを削除または名前変更してから、別のテクノロジーを使用して新しいパッケージを所定の場所にドロップする代わりに、すべてのパッケージ内のすべてのクラスを変更する必要があります。しかし、これは大した問題ではないと思います。経験不足のせいかもしれませんが、テクノロジーを入れ替える回数は、システム内で垂直方向の機能スライスにアクセスして編集する回数と比較すると、見劣りするものだと想像しなければなりません。 だから私は質問があなたに出てくると思います、あなたはあなたのパッケージにどのように名前を付けますか、そしてなぜですか?私は必ずしもここで金色のガチョウや何かに偶然出会ったとは限らないことを理解してください。私はこれらすべてにかなり新しいですが、ほとんどが学問的な経験があります。しかし、私は私の推論の穴を見つけることができないので、私が先に進むことができるように、皆さんができることを望んでいます。

2
PostgreSQL:デフォルトの制約名
PostgreSQLでテーブルを作成する場合、指定されていない場合はデフォルトの制約名が割り当てられます。 CREATE TABLE example ( a integer, b integer, UNIQUE (a, b) ); しかしALTER TABLE、制約を追加するために使用すると、名前が必須のようです。 ALTER TABLE example ADD CONSTRAINT my_explicit_constraint_name UNIQUE (a, b); これにより、私が取り組んだプロジェクトで名前の不一致が発生し、次の質問が表示されます。 テーブルの作成中に追加された場合に受け取る名前で、既存のテーブルに制約を追加する簡単な方法はありますか? そうでない場合は、不整合を防ぐためにデフォルト名を完全に回避する必要がありますか?




3
Haskell:なぜヘルパー関数に「go」という名前を付けるのですか?
goHaskellの資料や情報源を読んでいるとよく見かけますが、それについて本当に快適に感じることはありませんでした-(私の心の中には「goto」という否定的な意味合いがあると思います)。私はLYAHでHaskellのを学び始め、そして私が使用する傾向を拾いのことaccとstepするときは、折り目を書きます。書くための慣習はどこgoから来たのですか? 最も重要なことは、その名前が正確に何goを意味するのでしょうか?

15
Java変数とメソッド名でアンダースコアを使用する[クローズ]
現在のところ、この質問は私たちのQ&A形式には適していません。回答は事実、参考資料、または専門知識によって裏付けられることを期待していますが、この質問は、討論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、場合によっては再開できると思われる場合は、ヘルプセンターにアクセスしてガイダンスを入手してください。 7年前に閉鎖されました。 今日でも、Java変数とメソッドにアンダースコアがよく見られます。例としては、メンバー変数( "m_count"や "_count"など)があります。私が覚えている限り、これらの場合にアンダースコアを使用することは、Sunによって悪いスタイルと呼ばれています。 定数はすべて大文字であり、キャメルケースではないため、使用する必要があるのは定数のみです( "public final static int IS_OKAY = 1;"など)。ここで、アンダースコアはコードを読みやすくする必要があります。 Javaでアンダースコアを使用するのは悪いスタイルだと思いますか?もしそうなら(またはそうではない)、なぜですか?

2
C#メソッドの命名規則:ToSomethingとAsSomething
ビジネスロジックオブジェクトの拡張メソッドをいくつか書いているときに、変換メソッドの名前を変更することになりました。someObject.ToAnotherObject()広く使用されているとうまくいくでしょうobject.ToString()。 ただし、たとえばLINQは両方のバリアントを混同しており、それらの違いを見つけることができません。ToDictionary()、ToList()、AsParallel()、AsQueryable()、... これらの2つの命名規則の違いは何ですか?また、自分のクラスに使用するかどうかを決定するために知っておくべきことは何ですか?

7
.NETデリゲート型の適切な命名規則?
慣例により、クラスは名詞のように、動詞のようにメソッドに、形容詞のようにインターフェースに名前が付けられることがよくあります。 デリゲートの一般的な命名規則は何ですか?または、デリゲートがタイプやその他のものの間でリストされているときにその名前を区別するための良い方法は何ですか? 私の当面の想定は、単一のメソッドインターフェイスをデリゲートに置き換えることができるため、デリゲートに形容詞の可能性が高い名前を付けることです。 いくつかの考え: delegate object ValueExtracting(object container); delegate object ValueExtractor(object container); delegate object ValueExtractionHandling(object container); delegate object ValueExtractionHandler(object container);

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