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

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

5
C#のジェネリック型の適切な命名規則は何ですか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は、事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は、議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、おそらく再開できると思われる場合は、ヘルプセンターをご覧ください。 8年前に閉鎖されました。 かなり主観的であるため、スタックオーバーフローではなく、ここでこの質問をすることにしました。 C#では、通常、非常に貧弱な名前のジェネリック型が表示されます。特に、「T」は一般的に使用されますが、それ自体では意味のある名前ではありません。例えば: class Fruit<T> { T fruit; } これは典型的なアプローチですが、これに反対する人はいますか?もしそうなら、一般的な関数とクラスのC#のコンテキストでの一般的な型の合理的な命名規則は何でしょうか? 前の例では、ジェネリック型Tは常にAppleor などの果物の型である必要があると仮定しましょうOrange。タイプは、Tそれは明らかに、それは果物の種類だことを確認する必要があるので、多分、より良い名前のようになりFruitType、我々はで終わるので、: class Fruit<FruitType> { FruitType fruit; } これは、皆さんに私が探しているもののアイデアを提供するためのものです。この問題で受け入れられる「経験則」とは何ですか?
16 c#  naming  generics 

6
メソッド名と関数名の「A」、「an」、「the」:あなたはどう思いますか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 5年前に閉鎖されました。 私たちの多くは、このようなメソッド名を見たことがあります。 UploadTheFileToTheServerPlease CreateATemporaryFile WriteTheRecordToTheDatabase ResetTheSystemClock つまり、文法的にも正しい英語の文であり、純粋に散文のように読めるように余分な単語を含むメソッド名。個人的には、私はそのような「リテラル」メソッド名の大ファンではなく、できる限り明確でありながら、簡潔であることを好みます。私にとって、 "a"、 "an"、および "the"のような単語は、メソッド名では単純に不自然に見えるだけで、有用なものを追加することなく、メソッド名を不必要に長くします。前の例では、次のメソッド名を使用します。 UploadFileToServer CreateTemporaryFile WriteOutRecord ResetSystemClock 私の経験では、これはより長い名前を書き出す他のアプローチよりもはるかに一般的ですが、私は両方のスタイルを見て、これら2つのアプローチに対する他の人々の考えを知りたいと思っていました。 だから、あなたは「散文のように読めるメソッド名」キャンプか「悪い意味の外国語から英語への翻訳のように大声で読むメソッド名」キャンプにいますか?

3
高階関数の命名規則?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 4年前に閉鎖されました。 高階関数の命名規則はありますか?つまり、他の関数を返す関数です。 JavaScriptの例: function onlyDivisibleBy(div) { // <-- higher order function return function (n) { return n % div === 0; } } var arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]; arr.filter(onlyDivisibleBy(3)); // [0, 3, 6, 9] arr.filter(onlyDivisibleBy(5)); // [0, 5] 私はそれを上記のように書く傾向がありました:つまり、呼び出しポイントでの読みやすさの最適化(上記の最後の行を「配列をフィルターして5で割り切れる項目を取得する」と読みました)使用されているコンテキストから、この関数がその名前から何をするのかを理解するのはそれほど簡単ではありません。

3
作成するオープンソースプロジェクトの識別子、パッケージ、または名前空間で自分の名前を使用しないようにするにはどうすればよいですか?
私は自分の時間に多くの開発をしています。私が取り組んでいるこれらのプロジェクトはすべて、これまでの楽しみと学習のためだけのものです。私は通常、Mavenを使用してJava開発を行いますが、.NETおよびPythonで手を出すことでも知られています。私が取り組んでいるプロジェクトはすべてオープンソースライセンスを使用していますが、それらのほとんどはパブリックコードリポジトリにはありません。 Java / Mavenの開発では、ユニークgroupId(「com.mydomain」など)およびユニークpackage(ディレクトリ)構造を使用する必要があります。通常、groupId.NET開発でnamespacesはJava packageコンセプトと同様の規則を使用するユニークを推奨します。一意性を確保するために、私は通常、ドメイン名の1つを部分を逆にして使用します(例:「ca.jessewebb」)。これは非常に一般的な方法だと思います。 私は、新しいオープンソースのJava / Mavenプロジェクトを作成する初期段階にあり(「newproj」と呼びましょう)、GitHubに配置したいと思います。GitHubのユーザー名は「jessewebb」なので、次のようなURLが付与されますhttps://github.com/jessewebb/newproj。「newproj.com」ドメイン名をわざわざ登録したくないので、「ca.jessewebb」と「ca.jessewebb.newproj」をそれぞれgroupIdおよびとして使用することにしpackageました。 コード内およびプロジェクトのホームの一部(GitHub URL内)に個人的なIDが存在することで、潜在的な貢献者が私のプロジェクトに関与することについて再考する可能性があります。これは問題であり、私はそれはしたくない私のプロジェクト。代わりに、自分がプロジェクトを所有していないというメッセージを伝えることができればいいと思います。さて、正直に言って、私のプロジェクトはコミュニティの関与を増やすとは思えないので、それほど大したことではありませんが、これは貢献者になることを思いとどまらせる可能性を避けるためのさらに多くの理由と考えています。 別の例として、数年前にGoogle Codeプロジェクトを作成しました(「oldproj」と呼びましょう)。プロジェクトを作成したとき、Google Codeでホストすることを知っていたのでgroupId、「com.googlecode.oldproj」というパッケージ名を使用しました。これは、Google Codeがすべての新しいプロジェクトに提供するデフォルトのドメイン名の逆です。これはそれほど素晴らしいアイデアではないことが判明しました。1年ほど後、私はコードを別のリポジトリに移動し、これらの識別子の名前を変更する必要がありました(私は持っていませんでしたに...)。当時、私はドメイン名を所有していなかったため、「oldproj.com」というドメイン名を購入し、それを使用しました。これは、プロジェクトに独自のアイデンティティを与え、どこでもコードに自分の名前を刻印していなかったので、これが好きでした。「jessewebb.ca」ドメイン名を簡単に登録し、「ca.jessewebb.oldproj」をパッケージ名として使用することもできましたが、当時も同じ懸念があったため、登録しませんでした。 だから私の質問は... パッケージ/名前空間の一意性を維持しながら、オープンソースプロジェクトを作成するときに自分の(ドメイン)名を使用しないようにするにはどうすればよいですか? プロジェクトが勢いを増すにつれて、ドメイン名を登録することは理にかなっていますが、これを前もって行うのはばかげており、お金の無駄です。コードでドメイン名を使用するために実際にドメイン名を所有する必要はありませんが、それは間違っていると感じ、その間にあなたの下から不法占拠者を奪う可能性があります。他の人はこのジレンマについてどうしますか?独自の識別子の一部として元の開発者のIDを含む人気のある(広く使用されている、大規模なコミュニティなどの)オープンソースプロジェクトの例はありますか?

3
純粋な仮想または抽象、名前は何ですか?
Stack Overflowの仮想関数に関する質問について議論しているときに、純粋な(抽象的な)仮想関数と非純粋な仮想関数の正式な命名法があるかどうか疑問に思いました。 私の情報は常にウィキペディアに依存しており、純粋な仮想関数と非純粋な仮想関数が一般的な用語であると述べています。残念ながら、この記事では、起源や参考文献でバックアップしていません。 純粋で非純粋が一般的な用語であるという私の返信に対するJon Skeetの回答を引用するには: @スティーブン:うーん...多分、しかし私はC ++のコンテキストでそれを見たことがあります。私はそれらについて話している人はC ++のバックグラウンドを持っている可能性が高いと思う:) これらの用語はC ++に由来していましたか、それとも以前の言語で最初に定義または実装されたもので、「公式の」科学用語ですか? 更新: Frank Sheararは、SIMULA 67 Common Base Language(1970)の説明へのリンクを提供してくれました。この言語は、OOキーワードをclass、object、および正式な概念としての仮想として導入した最初の言語のようです。それはしません定義/純粋な非純粋または抽象的、しかしそれは概念をサポートしています。 誰がそれらを定義しましたか?

3
メソッド名または変数名が長すぎますか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 4年前に閉鎖されました。 だから、私は現在コーディングの最中でしたが、残念なことに、私は「ゾーン」にいて、自分のメソッド/変数名は長いと思いましたか? 私は行くゾーンからポップ! だから私は尋ねるためにここに来ました、私のメソッド/変数名は長すぎますか?あなたが裁判官です!ボーナスは、筆者が書いているものを理解できる人を指しますが、第一人者はすぐにそれを理解するでしょう! とにかく、ここに私のメソッドと変数名の一部があります。 メソッド:searchBlockedListForBlockedSquares()、isCurrentSquareNextToAtLeastOneBlockedSquare()、searchBlockedListForBlockedSquares() 変数:isNextToBlockedSquares; 長すぎると思われる変数は1つだけだったと思います。
15 naming  variables 

13
async&await-代替案のポーリング[終了]
現在のところ、この質問はQ&A形式には適していません。回答は、事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は、議論、議論、世論調査、または詳細な議論を求める可能性があります。この質問を改善し、おそらく再開できると思われる場合は、ヘルプセンターをご覧ください。 7年前に閉鎖されました。 c#5の準備が整ったので、Anders Heijsbergが昨日PDC10で発表した「Asynchrony」の2つの新しいキーワードの選択に影響を与えるための空きがあるようです。 async void ArchiveDocuments(List<Url> urls) { Task archive = null; for(int i = 0; i < urls.Count; ++i) { var document = await FetchAsync(urls[i]); if (archive != null) await archive; archive = ArchiveAsync(document); } } Eric Lippertは、現在の2つのキーワードの選択と、それらがユーザビリティ研究で誤解されている方法について説明しています。コメントには他にもいくつかの提案があります。 お願い-回答ごとに1つの提案、重複は削除されます。
15 c#  naming 


5
ローカライズ文字列リソースを整理する方法は?
多くの小さなパッケージで構成される大規模なアプリケーションを開発しています。各パッケージには、ローカライズ用の独自のリソースファイルセットがあります。 ローカライズ文字列を整理して命名するための最良のアプローチは何ですか? これまでの私の考えは次のとおりです。 重複の処理 同じテキスト(たとえば、「Zip code」)が特定のパッケージ内で複数回出現する場合があります。プログラミング本能(DRY)は、すべてのオカレンスで共有される単一の文字列リソースを作成するように指示します。 繰り返しになりますが、翻訳者は場所によっては長い翻訳( "Postleitzahl")を選択し、スペースの少ない場所では短い翻訳( "PLZ")を選択することもできます。または、一部のオカレンス(「Zip code:」)にコロンを追加し、他のオカレンスには追加しないこともできます。または、場所によっては異なる大文字(「郵便番号」)が必要になる場合があります。これらの引数はすべて、内容が同一であっても、使用ごとに1つのリソースを作成することを指します。 ネーミング 重複を排除することを目的とする場合、contentでリソースに名前を付けることは理にかなっています。おそらくプレフィックスを介した使用の種類を示唆しています。我々が持っているかもしれだからlabelOK= 「OK」を、messageFileTooLarge= 「ファイルは、最大ファイルサイズを超えています。」、およびlabelZipCode= "Zip code"。 コンテンツによる命名には、フォーマット引数を自然に処理できるという利点があります。リソースはmessageFileHas_0_MBWhileMaximumIs_1_MB明らかに、実際のファイルサイズと最大ファイルサイズの2つのフォーマット引数を取ります。 ただし、重複を許可する場合、コンテンツだけで名前を付けることは意味がありません。一意のリソース名を取得するには、リソース名に使用場所を何らかの形で含める必要があります。識別子は少し長くなる傾向がありますが、グラフィカルコントロールでは機能します:fileSelectionConfirmationButtonText= "OK"、customerDetailsTableColumnZipCode= "Zip Code"。ただし、非ビジュアルコードファイルの場合は難しくなります。最終的に表示される場所がわからない場合、文字列の特定の使用法にどのように名前を付けますか?コードファイルと関数名で?私にはかなり不器用で脆いようです。 全体として、重複を許可しようとしていますが、これをサポートする一貫した命名スキームを見つけるのに苦労しています。 編集:この質問には2つの側面があります。リソースを整理する方法(DRYと複製)、および名前の付け方です。これまでのところ、答えは最初の側面に集中しています。命名規則に関するフィードバックをお願いします!

4
オーバーロードされたメソッドの名前を変更する必要がありますか?
これらのメソッドを含むインターフェースを想定します: Car find(long id); List<Car> find(String model); このように名前を変更する方が良いですか? Car findById(long id); List findByModel(String model); 実際、このAPIを使用する開発者は、初期find()メソッドの可能な引数を知るためにインターフェイスを調べる必要はありません。 だから私の質問はより一般的です:コードでオーバーロードされたメソッドを使用することの利点は何ですか?

9
命名規則が言語と競合する場合はどうしますか?
さて、これはいつも私を悩ませた小さなものの一つです。通常、識別子は省略しません。短い識別子(例:)を使用するのiは、タイトなループのためだけです。したがって、C ++で作業しているときに、名前を付ける必要のある変数がある場合、operatorまたはclass回避するか、略語を使用する必要があるため、それが突き出てしまうため、イライラします。警告:これは、ドメインオブジェクトがホスト言語の概念を反映し、不注意に衝突を引き起こす可能性があるプログラミング言語の設計に多く携わっているため、不均衡に頻繁に発生する可能性があります。 これにどう対処しますか?短縮しますか?(op)スペルミス?(klass)他に何か?(operator_)
14 naming 

4
Namepsaces / Packagesのメリット
一部のプログラミング言語(JavaやC ++など)には、「パッケージ」または「名前空間」と呼ばれる言語機能があります。名前空間を持つことは本当に便利ですか?SDLのように(たとえばSDL_BlitSurface())、そのような言語機能を使用せずに、関数とクラスを特定のライブラリに属する​​ものとしてマークすることができます。名前空間は持つ価値があるほど有用ではありませんか?ライブラリでは便利ですが、アプリケーションでは役に立ちませんか?小さなプロジェクトを除いてどこでも便利ですか?考え?

2
ボブおじさんは「名詞句名」とはどういう意味ですか?
ボブおじさんのきれいなコードを読んでいます。私は英語を母国語としないため、次の声明を理解できませんでした。 クラスとオブジェクトのような名詞や名詞句の名前を持つ必要があり Customer、WikiPage、Account、とAddressParser。避け言葉が好き Manager、Processor、Data、またはInfoクラスの名前インチ クラス名は動詞であってはなりません。 私が知っているように、のいずれもManager、Processor、Data、およびInfo動詞である、そうではありませんか?彼が強調したい実際のポイントは何ですか?

6
C#関数パラメーターに使用する命名規則
Parameterで渡された名前が新しい型にキャストされる場合がありますが、渡されたオブジェクトの名前は同じままである必要があります。クラス属性の場合、この演算子を使用できますが、関数のローカル変数についてはどうでしょう。広く使用されているコーディング規約。 例、 void MyFunc(BaseClass myPara) { DerivedClass _mypara = (BaseClass)myPara; } またはそれどころか void MyFunc(BaseClass _myPara) { DerivedClass mypara = (BaseClass)_myPara; } または他の慣習
14 c#  naming 

3
インスタンス、ローカル変数、パラメータ変数の命名規則[非公開]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 4年前に閉鎖されました。 私はプロジェクト(主にJava / JEEプロジェクト)に適用するために、シニア開発者のコ​​ーディング規約と話し合っていました。私は彼が提案した一つのコンベンションに反対しました: インスタンス変数名は「_」で始まり、ローカル変数は「loc」で、メソッドパラメーターは「par」で始まる必要があるため、変数の起点とスコープを簡単に識別できます。 彼は短期記憶と読みやすさについて議論を進めましたが、読みやすさをむしろ低下させるという事実、EclipseのようなIDEは変数をその型によって異なるようにフォーマットするという事実に異議を唱え、この問題は適切なクラスとメソッドの設計で回避されるでしょう。 私の主張を支持する(または反対する)意見、議論、研究はありますか?
13 java  naming  variables 

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