タグ付けされた質問 「coding-standards」

コーディング標準またはコーディング規約は、ソフトウェアプロジェクトでのコード生成のプロセスを管理するために設計された一連のルールまたはガイドラインです。それらは通常、業界のベストプラクティスまたは一般に受け入れられている規則に基づいています。これには、命名規則、スタイル、禁止されている機能などが含まれます。

2
C#プログラミング言語での変数の命名規則[終了]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 6年前休業。 変数に関するC#のビデオを見ています。著者はメソッド内で変数を宣言し、次のように名前を付けました。string MyName = "James"; 私の質問は、.Net Frameworkが推奨する規則です。上記の例のようなパスカルケースですか、それともキャメルケースですか?

8
これらすべてのコーディング規則はどうですか?
私は、会社や特定のプロジェクトの開発者向けにコーディングルールを設けるという考えを常にサポートしていました。特に、会社の規模が10を超える場合は、会社が大きくなるほどニーズも大きくなります。私は多くの人が意見を異にするだろうことを知っていますが、それらを持たないプロジェクトを見たことがあり、コードは完全な災害のように見えます。 これから来る本当の問題は、ifステートメントで角かっこを使用したくない、またはコード内のどこでも同じ接続文字列を使用したくない、またはそれらを反対にせずにコーディングルールを使用したくない頭のいいものを作成する方法ですアイデア?

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 コード管理とスケーラビリティの点でより正しいものは何ですか? 現在、両方のアプローチを組み合わせており、矛盾が生じ始めています

2
モジュール全体の使用状況を検証する必要があるのか​​、それともパブリックメソッドの引数だけを検証する必要があるのか​​?
パブリックメソッドの引数を検証することをお勧めします。 彼がnullを期待していない場合、nullをチェックする必要がありますか? メソッドはパラメータを検証する必要がありますか? MSDN-CA1062:パブリックメソッドの引数を検証します(.NETの背景がありますが、質問はC#固有ではありません) 動機は理解できます。モジュールが誤った方法で使用される場合は、予測できない動作ではなく、すぐに例外をスローする必要があります。 気になるのは、モジュールの使用中に発生する可能性のあるエラーは間違った引数だけではないということです。推奨事項に従ってエラーのエスカレーションを望まない場合に、チェックロジックを追加する必要があるいくつかのエラーシナリオを以下に示します。 着信-予期しない引数 着信-モジュールの状態が間違っています 外部呼び出し-予期しない結果が返されました 外部呼び出し-予期しない副作用(呼び出しモジュールへの二重入力、他の依存関係の状態を壊す) 私はこれらすべての条件を考慮して、1つのメソッド(申し訳ありませんが、C#ではありません)で単純なモジュールを作成しようとしました: public sealed class Room { private readonly IDoorFactory _doorFactory; private bool _entered; private IDoor _door; public Room(IDoorFactory doorFactory) { if (doorFactory == null) throw new ArgumentNullException("doorFactory"); _doorFactory = doorFactory; } public void Open() { if (_door != null) throw …

5
else else構造がより適切な時間で仕事をすることができるときに、(関数で)HashMapを使用して(キーに対して)返す値を決定する必要があるのはなぜですか?
私が最近大企業で働いていたときに、プログラマーがこのコーディングスタイルに従っていることに気づきました。 入力がAの場合は12、入力がBの場合は21、入力がCの場合は45を返す関数があるとします。 だから私は関数のシグネチャを次のように書くことができます: int foo(String s){ if(s.equals("A")) return 12; else if(s.equals("B")) return 21; else if(s.equals("C")) return 45; else throw new RuntimeException("Invalid input to function foo"); } しかし、コードレビューで、関数を次のように変更するように求められました。 int foo(String s){ HashMap<String, Integer> map = new HashMap<String, Integer>(); map.put("A", 12); map.put("B", 21); map.put("C", 45); return map.get(s); } 2番目のコードが最初のコードよりも優れている理由を私は納得できません。2番目のコードの実行には、間違いなく時間がかかります。 2番目のコードを使用する唯一の理由は、コードが読みやすくなることです。しかし、関数が何度も呼び出される場合、2番目の関数はそれを呼び出すユーティリティの実行時間を遅くしませんか? これについてどう思う?

6
私のチームは、独自の基準として、よく評価されている一般的なコーディング標準を使用する必要がありますか?
私が参加しているR&Dチームは、コーディング標準を採用することを決定しました。私たちが最近結成したばかりであり、コードと共通のコーディング時間が少なすぎて、チームで有機的に開発されたもの、および独自のコードからの良い例などに基づいて標準/規約のドキュメントを作成できません。 今、私たち一人ひとりが過去の職場での経験を持っていますが、「ここで行うこの種の仕事にふさわしいことがわかった、この包括的なドキュメントをここで採用しましょう」と言っている人はいません(*)。さらに、一部の私(自分自身を含む)は、公式のコーディング標準がない場所、または別の設定で別の言語で作成した経験のみを持っています(より研究指向の開発作業ではなく、週ごとの高圧の本番環境)。 したがって、私が考えていたオプションの1つは、比較的よく知られていて評判の高いドキュメントを取り上げ、私たちが気にしていない/気にしていないものを切り取り、好みに基づいていくつかの変更を加えることです。 これは一般的な方法ですか?これは良いアイデアだと思いますか?もしそうなら、合理的な「ベースライン」コーディング標準とは何でしょうか(どちらが最善か教えてください、ここで宗教的対立を始めたくありません。包括的または「中立」に基づいて構築できるものを指摘してください) 。) ノート: C、C ++、OpenCL、CUDA、Pythonで動作することを期待しています。 私たちは4人のチームとマネージャーのチームで、1年程度で5〜6人に成長すると予想されています。 私たちの会社では、チームはほぼ完全に自律的であり、通常はまったく相互作用しません(お互いのコードを使用することによってさえも-作業は完全に異なるプロジェクトにあります)。そう-全社的な考慮事項はありません。 ツールに関しては、現時点ではEclipseを使用することがわかっているため、そのコードフォーマッターは少なくとも1つのツールになります。Ctrl + Shift + Fは長い間私の友人です 私がJavaを書くとき、私はBlochの効果的なJavaにできる限り厳密に従うことを採用しました。さて、それは完全なコーディング標準ではありませんが、コーディング標準のレンガ、セメント、モルタルを呼び出すことができます。そのようなものを「ミックス」の一部として含めることを考えていました(Javaは実行しないことに注意してください)。 より広い意味でのコーディング標準を意味します。たとえば、このP.SEの質問に対する回答で行われた提案を採用します。 C ++コーディング標準ドキュメントの大きなリストを見つけました。多分私は私たちのベースラインを採掘するべきです。 (*)それはまったく真実ではありませんが、私はこの質問をあまりにも多くの詳細で複雑にしたくありません。

4
「TODO自動生成メソッドスタブ」とはどういう意味ですか?[閉まっている]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、ソフトウェアエンジニアリングスタック交換のトピックになるようにします。 6年前休業。 私はeclipseをAndroidプログラミングに使用しており、「TODO自動生成メソッドスタブ」という文が随所に見られます。 これらのメソッドは、クラスおよびその他のトリガーアクティビティの作成時にEclipseによって自動的に生成されたことを理解していますが、どこにでも言及する必要があることを理解していません。 どこでも繰り返し言及する必要性は何ですか?

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

9
条件文で(位置<サイズ)がこのような一般的なパターンになるのはなぜですか?
条件ステートメント(IF)では誰もがを使用(position &lt; size)していますが、なぜですか? 慣習だけですか、それとも正当な理由がありますか? 野生で発見: if (pos &lt; array.length) { // do some with array[pos]; } めったに見つかりません: if (array.length &gt; pos) { // do some with array[pos]; }

3
OpenSourcingでコードを準備してGitHubに配置するにはどうすればよいですか?
数週間で私のプロジェクトは完成し、他の人が使用できるように私のコードを準備し始めたいと思います。 私はすべてをGitHubに投稿して、人々がそれを調整して、うまくいけばそれをより良くすることができるようにします。 私が求めているのは、他の人が使用できるように私のコードが十分に文書化され、正しく記述されていることを確認するための最良の方法は何でしょうか? 私はあなたが常にすべてをコメントする必要があることを知っています、そして私はすべてのメソッドに対して@params機能を入れようとしていますが、一般的に他のヒントはありますか?

6
URLでタイトルの大文字を使用する必要がありますか?
現在、複数のWebアプリケーションを使用するサイト全体で一貫した命名規則を決定しています。歴史的に、私は「小文字のすべての文字!」を提唱してきました。URLを作成する場合: http://example.com/mysystem/account/view/1551 ただし、1年か2年以内に、具体的にはASP.NET MVCを使い始めて、RESTベースのURLとの取引が増えたため、URL内の各セクション/単語の最初の文字を大文字にするのが好きになりました読みやすい(imho)。 http://example.com/MySystem/Account/View/1551 私たちは人々が URLを読んだり理解したりする必要がある状況にないので、それ自体はドライバーではありません。私たちが求めている主なものは、合理的で理にかなった一貫したアプローチです。 何らかの方法で良いことを宣言する標準、または別のものよりも優先を選択する(少なくとも現実的には現代的な)セットアップで遭遇する可能性のある問題はありますか?現在、この議論の一般的なコンセンサスは何ですか?

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

3
誰もがTSQLのコーディング標準を推奨できますか?
私たちには長い間、.Netコードのコーディング標準がありました。それらを適用する方法に関するアイデアについては、時間とともに進化する信頼できるソースがいくつかあるようです。 私たちの製品で使用するために記述されたSQLのいくつかの標準をまとめることができるようにしたいのですが、適切に記述されたSQLを決定するものについてコンセンサスに関するリソースがそこにないようです。

1
悪いコーディング(設計)標準の下でコーディングを余儀なくされた場合の対処法
これは、リージョンを使用する場合など、コメントを配置する一般的な命名規則に関するものではありません。これは、プログラマーがアプリケーションを設計する方法の詳細を説明するコーディング標準に関するものです。 次のようなもの:(.NETアプリ上で、正確な表現ではありません) できるだけ少ないクラスにする クラスは、実際のクラスの生徒ができる限りのことをすべきです 変更は拡張よりも優れています カテゴリごとに1つのDLL(電子メール機能用に1つのライブラリ、ファイル関連機能用に1つのライブラリ) 誰もが悪いコードとおそらくは悪いデザインの経験を持っていますが、チームが正しいと感じない設計基準を持っていた(去ることはできません)場合はどうでしょうか。このようにコーディングするように求められたときに、私が内部で死にそうになっていると感じたときに、専門家としてどのように対応すべきかわかりません。

3
副作用がある関数の命名規則?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 3年前休業。 彼らの言語には、状態を変化させる関数の名前が感嘆符で終わらなければならない慣習があると誰かが言うのを聞いた 私はもっ​​と機能的なコードを書こうとしているのですが、副作用ステータスに従って関数を何とかマークするアイデアが好きです。つまり、なし、内向きの副作用、外向きの副作用(私は正しいfp用語を知らないですが、望む)。 自分の命名スキームを思いつくのは簡単ですが、そのようなスキームや慣習がホームベイクする前にすでに存在しているかどうか疑問に思っていました。 編集:すべての回答に感謝します。それはまさに私が求めていたものであり、それらはすべて本当に有用であることがわかりました。おそらく、古いJavaScriptをリファクタリングしているので、静的に型付けされた言語では、副作用のあるコードとないコードの違いを強制できるかもしれないが、自分で付けた命名規則に頼らなければならないでしょう。 edit2:これを主にオピニオンベースとして閉じるmodについては、私は同意しなければなりません。私は、もしあれば、どのような慣習が一般的に使用されているのかを尋ねていました-これは誰かの定義によると、意見ではなく事実の問題です!

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