問題タブ [readability]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - C#構文の美化
私のC#/ ASP.NETプロジェクトには、特定のカテゴリの動作を持つオブジェクトがあります。各動作カテゴリは物理的にルートオブジェクトに依存していますが、コードを読みやすくするために、カテゴリを明確に区別したいと思います。私の実装が、同じ問題を解決するために他の人が書いたものとどのように比較されるかを見るのは興味深いと思います。
以下の例では、Webサイトのさまざまな場所へのURLを生成するクラスがあります。Webサイトには、ホームページなどのURLとは異なる方法でアクセスする必要がある独自のリンクセットを持つストアフロントがあります。
このコードを使用すると、次のようになります
ロバート:
例自体は、機能をより明示的に整理しようとしていることに気付いた1つのシナリオにすぎません。関連するメソッドの前後にプレフィックスを使用していることに気付いたことがありますか。String.TrimStart()、String.TrimEnd()、String.Trim()は、C#フレームワークから思い浮かぶ例です。
上記のコードを(読みやすさの観点から)整理しようとすると、ネストされたクラスが外部クラスのメンバーにアクセスできないという問題があります。WebサイトURLインスタンスの参照をStoreURLsクラスのコンストラクターに渡す必要があるため、内部クラスの構築に余分な作業が必要です。このクロージャの動作は、言語。関連する機能がたくさんある状況で他の人がどのC#コードを使用するのか興味があります(数十または数百のメソッドを考えてください)。(注:上記のコードは、ネストされたクラスが外部クラスのメンバーにアクセスできるJavaで記述する方がはるかに流動的です)。
.net - 宣言クラス内からフィールドまたはプロパティにアクセスする
クラス内のフィールドまたはプロパティ (存在する場合) にアクセスするためのより受け入れられた方法はありますか? 私はいつもフィールドにアクセスする習慣を持っていましたが、INotifyPropertyChanged がたくさんある WPF をやっていたので、プロパティにアクセスして通知を変更する必要があることに気付きました。そのため、クラス全体でフィールドアクセスとプロパティアクセスの両方が混在していますが、コンパイラの観点からは、スタイルと読みやすさは問題ではありませんが、...ぎこちなく感じます。
iphone - Iphoneの白いテキストとクリアな背景のルーペ拡大
皆さんは私の最後の質問に大いに役立ったので、別の質問をしてみようと思いました。ダークブルーのガラス状の背景と白/グレーのテキストとラベルを使用するテーマでアプリを作成しました。私のアプリのテキストフィールドには、クリアカラーの背景と白いテキストがあり、すべてが非常にうまく表示されます. 私の唯一の懸念は、テキストボックスをタッチして拡大ルーペを取得すると、もちろん白いテキストが白い背景に表示されることです...これは読むことができません. ここで使用可能なルーペを実装する方法について何かアイデアを持っている人はいますか?
ms-access - 条件付き書式または VBA による書式設定
MS Access では、VBA で書式設定オプションを設定するよりも条件付き書式を優先する理由はありますか? より効率的であるか、一般的に読みやすいと考えられているものはありますか?
layout - Webインターフェイス:多くの静的フィールドを表示するための良い方法は何ですか?
私のWebアプリケーションには、多くの静的フィールドを表示するページがあります。
レイアウトが悪いと、常に情報過多と読みやすさが低下することを私は知っています。
私の質問:
多くの静的フィールドを含む画面をレイアウトするためのベストプラクティスまたはヒューリスティックはありますか?
通常、私はビル・スコットとテレサ・ニールの優れた本を参照しますが、この問題に関するガイダンスを見つけることができないようです。
これが私が従う傾向があるいくつかのガイドラインです:
- 関連フィールドをグループ化します。
- メジャー(または親)フィールドを上と左に配置します。マイナー(または子)フィールドを右下に配置します。
- すべてのピクセルを埋める義務を感じないでください。読みやすさが向上する場合は、空白を考慮してください。
- 可能な限り、段階的開示を優先します。
- アコーディオンコントロールを考えてみましょう。
c++ - C++ で structarray マップ ファンクターをコーディングする最も明確な方法
これは、何かを行うための最も読みやすい方法に関する意見の投票です。C++ のメンバーへのポインター、バイト オフセット、またはテンプレート化されたファンクターを使用して「構造体 foo からメンバー X を選択する」を定義するかどうかです。
構造体の大きなベクトルを含む型があり、基本的にそれらのいくつかの範囲でreduceとして動作するユーティリティ関数を作成しています。各構造は、従属変数のグループを独立した次元に沿ったいくつかの点に関連付けます。簡単な例を考え出すために、これが時間の経過に伴う部屋の一連の環境条件を記録すると想像してください。
私の関数は、3 次補間を実行して、使用可能なサンプル間の特定の時点での条件を推測するだけです。
この関数を一般化して、温度だけでなく、任意のメンバーに一般的に適用できるようにしたいと思います。これを行うには 3 つの方法が考えられます。どれも簡単にコーディングできますが、1 年後にこれを使用する必要がある人にとって、どの方法が最も読みやすいかはわかりません。ここに私が考えているものがあります:
メンバーへのポインターの構文
これは最も "C++ らしい" 方法のように感じますが、奇妙に見えます。また、メンバーへのポインター構文全体がほとんど使用されないため、私のチームのほとんどの人はほとんど理解していません。これは技術的には「正しい」方法ですが、私が最も混乱するメールを受け取る方法でもあります。
構造物のオフセット
これは機能的には上記と同じですが、ポインター計算を明示的に行います。このアプローチは、私のチームの全員 (全員が C++ の前に C を学んだ) にすぐに馴染み、理解できるものになるでしょう。
テンプレート化されたファンクター
これは、最も単純で STL っぽい方法ですが、余分な型付けと構文、即席のクラス定義が大量にあるように思えます。上記の2つとほぼ同じものにコンパイルされますが、実行可能ファイル全体に冗長な関数定義の束もダンプされます. (私はこれを/FAcsで確認しましたが、リンカーがそれらを再び取り出す可能性があります。)
上記の 3 つすべてが機能し、コンパイラはそれらすべてに対してほぼ同じコードを発行します。したがって、私がしなければならない最も重要な選択は、単純にどちらが最も読みやすいかということです。どう思いますか?
readability - 感傷的なコード
「コードの賞賛」の問題を論じている記事を見つけました。基本的に、著者は、開発者が自分が作成するコードについてより懐疑的になる方法について語っています。コードを「賞賛」しすぎて、コードに自分自身を結びつけ、目の前にある可能性のあるバグやその他の事故に対して脆弱になる方法。
この問題についてどう思いますか。また、この問題を回避する/意識する方法について、さらにヒントはありますか?
c++ - なぜSTLの実装はそれほど読めないのですか?ここでC++をどのように改善できたでしょうか。
たとえば、STL実装のほとんどのメンバーが_M_
または_
または__
プレフィックスを持っているのはなぜですか?なぜこれほど多くの定型コードがあるのですか?
ベクトル(たとえば)の実装を明確かつ簡潔にするためにC ++に欠けている機能は何ですか?
syntax - 言語が読める、または読めない理由は何ですか?
1 年後に Python コードは理解できるが、XYZ コードは理解できないという人がいると聞きました。なんで?Python 構文の何が良いのか、別の構文の何が悪いのかわかりません。私は C# が好きですが、VB.NET コードの方が読みやすいと感じています。私は言語設計を行っていますが、コード/構文/言語を読み取り可能または読み取り不能にするものは何ですか?
c# - C#で文字列に二重引用符を割り当てる最も読みやすい方法
非常に短い文字列で文字をエスケープすると、文字が読みにくくなると他の誰かが考えていますか?コードで二重引用符を文字列に割り当てるために使用していることに気付きs = "\""
ましたが、それについて考えた結果、次の代替案を思いつきましたs = '"'.ToString()
。
- 私の代替案は何か良いですか?コードの最初のバージョンを見たいですか?
- 文字列に2つの二重引用符( "")を割り当てるにはどうすればよい
s = "\"\""
ですか?
/ meは、圧力がかかる前にこのCWにマークを付けています。