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

コーディングスタイルは、ソースコードの読みやすさと理解に役立つ一連のガイドラインです。

4
追加/編集機能を組み合わせるのが望ましい場合、およびそれらを別々に保つ場合はいつですか?
アイテムを追加または編集する必要がある状況に定期的に遭遇し、追加と編集に別々のメソッドを使用することもあれば、それらを1つのメソッドに結合することもあります。 ある方法が他の方法よりも優先されますか?もしそうなら、なぜですか? public void AddItem() { ShowEditingPopup(new Item(), "Add Item"); } public void EditItem(Item item) { ShowEditingPopup(item, "Edit Item"); } または public void EditItem(Item item) { ShowEditingPopup( (item ?? new Item()), string.format("{0} Item", (item == null ? "Add " : "Edit ")) ); } どこShowEditingPopupのように定義されます public void ShowEditingPopup(object popupDataContext, string …

3
デフォルトのアクセス修飾子を使用する必要があるか—コーディング慣行?
通常、新しいグローバル変数を作成するときは、そのアクセス修飾子を定義しません。したがって、Javaのように、プロパティのデフォルトアクセス修飾子を採用します。デフォルトのスコープ外でその変数にアクセスする必要がある場合は、アクセス修飾子を変更します。それ以外の場合はそのままにしておきます。だから私の質問は「私はそれを正しくやっていますか?デフォルトのアクセス変数を持っているのは普通ですか?またはそれらにプライベート/パブリックを使用するべきですか?アクセス修飾子を使用しないのは良いコーディング慣行ですか?」

8
コードエディターが、入力したとおりにタブ/スペースなしでコードをフォーマットした場合、どのように感じますか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 2年前休業。 ほとんどの場合と同様に、私はこの概念が以前に試されたことを確信しています-私が「仮想フォーマット」と呼んでいるものを使用するエディターに出会ったことがありません。原則は、コードをフォーマットするために開発者またはエディター自体によって従来挿入されていたパディングスペース/タブ文字の効果をシミュレートする浮動左マージンがあるということです。入力すると、エディターは(コメントアウトされている場合でも)コードを継続的に解析し、各改行が見つかったコンテキストに基づいて必要なインデントを計算します XMLには文字の書式設定に特有の問題があり、入れ子になっている傾向があるため、特にXMLエディターを使用してこのアイデアを開発しています。ただし、多くの原則は従来のコードにも当てはまると思います。 そのようなツールを使ったコーディングの経験はありますか、それとも役立つか、妨げるかについての見解はありますか?バージョン管理システムで問題が発生しますか?(既存のパディング文字をすべて検出して取り除きます) 試していない限り、そのようなツールの動作を説明するのは困難です。実際に編集を開始するまでは、従来のように見えます。私は、XMLの編集、階層の変更、ドラッグ/ドロップ、コピーと貼り付けの操作、そして無効な文字が入力された場合のフォーマットの破損/修正を示す、プロトタイプの動作を示すスクリーンキャストビデオを公​​開しました。 編集 すべての回答/コメントはこれまで否定的でした-バランスを是正しようとするために、仮想フォーマットが考えるいくつかの利点: フォーマット標準についての議論は不要で、選択した/必須の規則に準拠する場所に改行を配置するだけです スペースが限られている場合(本/ブログ/ドキュメント)、ワードラップは可能ですが、完全なインデントを取得できます 各コードブロックには、画面の端に押し込まれずに、開始位置のすぐ隣に「マウスハンドル」があります。これをクリックして、ブロック全体または内部ブロックを選択します。 ドラッグアンドドロップして忘れる-初めて実行可能になります 他の人々のコードを再フォーマットする時間はありません 正しくフォーマットされていないコードはありません(レンダリングがないという意味で) Ctrl + Backspaceの代わりにBackspaceを使用すると、キーボードのガイドキーを指で維持できます 柔軟なレンダリング-レンダリングされたフォーマットを環境に適合させます。誰かが携帯電話/小さな画面のタブレットでコードを読んでみましたか? 編集可能な文字が(サンプルXSLTで)およそ25%少ないと考えてください。効率の面でメリットはありませんか? 編集-これまでの結論 開発者は、インデントに使用される埋め込み文字の使用に固有の欠点のほとんどを効率的に克服するツールと作業方法を確立しています。 書式設定文字を削除すると、一部の差分ツールに悪影響が及ぶことが懸念されます。 開発者は、自動レンダリングでは処理できないような方法でフォーマットを「微調整」する柔軟性を求めています。 先頭のスペース/タブを削除すると、そのようなコードを効率的に確認するには、コードをフォーマットできる「コード認識」ツールが必要になります。プレーンテキストエディターではフォーマットが表示されません。 (仮想インデントに対して)いくつかの仮想的なメリットがある可能性があると感じている人は、デメリットがこれらの潜在的なメリットを決定的に上回っていると考えています。 編集-評決 障害の認識といくつかの利点(ある場合)は、一般的な言語向けにこのスペースのない編集コンセプトを追求することは、単一の開発者としては賢明ではありません。ただし、XML / XSLTの場合(空白の特別な処理のため)、少なくとも可能性についてはある程度の合意があるようです。 編集-出荷された製品 ここで一般的に否定的な感情があったにもかかわらず、私は編集者を出荷しました。私は実際の経験に基づいて、より具体的な問題という形で批判をもたらすことを期待して無料版を作成しました。ややイライラして、これまでのところ不満はありません(実際、ダウンロード量を考慮したフィードバックはほとんどありません)。これは、ユーザーがこれを「そう何なのか」と考えるほどうまく調整したためだと思います。一種の機能-しかし、伝える方法はありません...


5
例外に関するチームのガイドラインはありますか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 5年前休業。 私のチームは最近、一部の作業をオフロードする必要があった開発者の数が非常に少なくなったチームからプロジェクトを継承しました。私たちが継承したプロジェクトの1つは、ネストされたコードが散らばったプロジェクトとひどい例外処理です(例外は実際にはgotoステートメントとして処理され、通常のプログラムフローの一部として使用されていました)。 全体として、それは誰かが数年間咳をしてきた毛深いコードボールでした。 現在、私たちはかなり長い間いくつかのチームガイドラインを用意していますが、オブジェクトの構造、コーディングスタイル、およびそうでないものに関するすべての考慮事項があります。ただし、例外処理については取り上げていません。 だから、例外処理に関してあなたのチームにガイドラインがあるかどうか、そしてもしそうならどのようにそれらを実施するのか?

3
大きなコードの塊についてコミュニティからフィードバックを得るにはどうすればよいですか?
Code Review.SEは、正確で短いコードに関するフィードバックが必要な場合に最適です。 しかし、次の場合にコード自体について同様のフィードバックをどこで得るか。 あなたは何千ものLOCを持っています、 職場の同僚がコードをレビューする準備ができていたり、喜んでレビューしたりしないでください¹、 サードパーティの開発者による専門家によるレビューに数千ドルも費やしていないのですか?² CodePlexのような場所はあなたのプロジェクトを知るための良い考えです³しかし、私が見たことから、あなたが既知のプロジェクトで得るフィードバックは消費者のフィードバックです。 Firefoxまたは類似の製品の規模を持たないオープンソースプロジェクトの特定のサイズのコードベースのコードレビューにコミュニティを参加させるための社会的な方法は何ですか? ¹これは、ほとんどの個人的なオープンソースプロジェクト、または定期的かつ完全なコードレビューの実践が存在しない会社で行われたプロジェクトの場合です。 ²これもまた、ほとんどの個人的なオープンソースプロジェクトの場合です。 Code CodePlexで公開されたプロジェクトがあまりにも多くても、誰も気にしないため、またはそれらがあまりよく表示されないために、知られることはありません。

5
モバイルプラットフォームでパブリックメンバー変数を使用してJavaドメインオブジェクト/データ転送オブジェクトを作成するのは慣例ですか?
最近、外部の請負業者によって開発されたモバイルアプリケーションJavaコードのコードレビューを実行しましたが、すべてのドメインオブジェクト/データ転送オブジェクトが次のスタイルで記述されていることに気付きました。 public class Category { public String name; public int id; public String description; public int parentId; } public class EmergencyContact { public long id; public RelationshipType relationshipType; public String medicalProviderType; public Contact contact; public String otherPhone; public String notes; public PersonName personName; } もちろん、これらのメンバーには、コード内のどこからでも直接アクセスできます。これについて尋ねたところ、開発者は、モバイルデバイスはリソースに制限のある環境であるため、これはモバイルプラットフォームで使用される通常のパフォーマンス強化設計パターンであると私たちに話しました。それは意味をなさないようです。パブリックゲッター/セッターを介してプライベートメンバーにアクセスすることは、多くのオーバーヘッドを追加する可能性があるようには見えません。そして、カプセル化の追加の利点は、このコーディングスタイルの利点を上回るようです。 これは一般的に本当ですか?これは、上記の理由により、モバイルプラットフォームで通常行われることですか?すべてのフィードバックを歓迎し、感謝しています-
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.