問題タブ [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.
php - PHPでif-elseステートメントの数を減らす方法は?
多くのif-elseステートメント、特にネストされたif elseステートメントがあることがわかりました。これらのステートメントにより、コードが読みにくくなります。PHPでifelseステートメントの数を減らす方法は?
私のヒントは次のとおりです。1。適切な場合はswitchステートメントを使用します。2.実行可能な場合はexit()ステートメントを使用します。3.実行可能な場合は、3項ステートメントを使用します。
if elseステートメント、特にネストされたif-elseステートメントを減らすことができる他のヒントはありますか?
jquery - 負/正の数を色付けする(jQuery)
読みやすくするために、表の数字に色を付けたいと思います。
- 正の場合は緑(+00.00);
- 負の場合は赤(-00.00)および;
- デフォルトの場合は黒(符号なし)
language-agnostic - 識別子のケースの読みやすさに関する調査は行われましたか?
言語によって、識別子の大文字と小文字の標準が異なります。このテーマについて私が目にするほとんどの議論は、特定の言語を中心に展開されており、個人的な意見が満載です。そして、これらの強い意見はすべて、言語を作成した 1 人または複数の人々の決定に由来します。
words_per_minute
よりもどれだけ読みやすいかを示すグラフが見たいですwordsperminute
。明らかに、私はより論争の的となっているwordsPerMinute
. 最も読みやすいものはタイプするのに最も時間がかかり、逆もまた同様であると思いますが、もちろん、これを自分で確認することはできません.
さまざまな大文字化スキームの読みやすさを比較する、言語にとらわれない研究は行われましたか? タイピング速度の統計も歓迎です。
php - エレガントなコーディング、非表示/非表示のHTMLコードを処理する方法は?
私は質疑応答のウェブサイトを開発しています。各回答のほかに「ベストアンサーとして選択」ボタンがあります。このボタンは質問者には表示されますが、他の視聴者には表示されないようにする必要があります。Webページの他の部分はほとんど同じです。では、このWebページをどのようにコーディングできますか?ボタンを表示するかどうかを判断するために、視聴者のIDを毎回確認する必要があります。質問に対する回答が多い場合は、質問者以外の視聴者からは見えないボタンがたくさんあります。この種のコーディングは多くの余分な帯域幅を浪費しますか?そして、この種のコーディングは少し怪しいと思います。それを行うためのより良い方法はありますか?
同じ問題が「コメントの追加」ボタンにも当てはまります。すぐ下に[コメントを追加]ボタンと非表示があります。<form><textarea></textarea></form>
回答が20ある場合、非表示は20<form></form>
になり、非表示のコードはHTMLファイルのサイズを大幅に増やします。代わりにエレガントな方法はありますか?
「コメント追加」ボタンに関しては、ログに記録されたユーザーなら誰でもコメントを追加できるため、IDの区別はありません。では、この問題にどのように対処するのでしょうか。
c++ - num%2またはnum&1を使用して、数値が偶数かどうかを確認しますか?
ええと、与えられた数が偶数であるかどうかを決定する少なくとも2つの低レベルの方法があります:
私は2番目のオプションがはるかにエレガントで意味のあるものだと考えています。それは私が通常使用するものです。しかし、それは好みの問題だけではありません。実際のパフォーマンスは異なる場合があります。通常、ビット単位の演算(logialなど)は、mod(またはdiv)演算よりもはるかに効率的です。もちろん、とにかくそれを最適化できるコンパイラもあると主張するかもしれませんが、私は同意します...しかし、そうでないコンパイラもあります。
もう1つのポイントは、経験の浅いプログラマーにとっては、2番目のポイントを理解するのが少し難しいかもしれないということです。その上で、これらのプログラマーがこの種のステートメントを理解するのにその短い時間を費やす場合にのみ、おそらくすべての人に利益をもたらすだろうと私は答えます。
どう思いますか?
num
指定された2つのスニペットは、がunsigned intであるか、2の補数表現の負の数である場合にのみ正しいです。-いくつかのコメントとして、かなりの状態です。
python - 読みやすさを向上させるために、Python コードのフールプルーフを少なくする必要がありますか?
私は自分のコードを誰にでもできるようにしようとしていますが、入力するのに多くの時間がかかり、コードを読むのにより多くの時間がかかることに気付きました.
それ以外の:
私はこれを書く傾向があります:
私のpythonコーディングスタイルは偏執的すぎますか? または、読みやすさを向上させながら、フールプルーフを維持する方法はありますか?
- 注 1:明確にするために、
<
との間にコメントを追加しました。>
- 注 2: コードの悪用を防ごうとしている主な愚か者は、将来の自分です。
c# - C#単体テストでの双方向リスト比較
私の C# 単体テストでは、ID のリストに基づいて行のリストを照会することがよくあります。次に、1) すべての ID について、その ID を持つ行が少なくとも 1 つ見つかったこと、および 2) 返されたすべての行について、各行に検索する ID のリストにある ID があることを確認します。これが私が通常それを確認する方法です:
Any
andの使用はそのようなチェックに便利だと思いますが、All
これは可読性が低いと考える人がいるかどうか、またはこのような双方向チェックを行うためのより良い方法があるかどうかを確認したかったのです。単体テストに Visual Studio 2008 Team System で MSTest を使用しています。あまりにも主観的である場合、これはおそらくコミュニティ wiki である必要があります。
編集:私は現在、Aviad P.の提案に基づいたソリューションを使用しています。また、次のテストに合格したという事実もあります。
c++ - この分岐ベースのベクトル演算操作を単純化することは可能ですか?
私はC++で次のようなことを達成しようとしています:
コードを英語に言い換えると、4 つの「既知の」ベクトルがあります。2 つのベクトルには、結果に必要な値と不要な値があり、必要かどうかは、他の 2 つのベクトルのコンポーネントに基づく分岐に依存します。
いくつかの行列演算とマスキングを使用してこのコードを単純化できるはずだと思いますが、頭を包むことはできません。
今のところ、私はブランチを使用していますが、それでも理解しやすく、コードの冗長性が少ないより良い方法があるかどうかを知りたいと思っています。
編集:
マークのコメントを参照して、ここで何をしようとしているのかを説明します。
このコードは、私が取り組んでいる春の物理学からの抜粋です。コンポーネントは次のとおりです。
kC は現在のスプリングの長さ、kD は最小のスプリング長です。
kA と kB は 2 セットのばね張力であり、その各構成要素は構成要素ごとに一意である可能性があります (つまり、X、Y、または Z に沿った異なるばね張力)。kA は完全に圧縮されていない場合のスプリングの張力であり、kB は完全に圧縮されている場合のスプリングの張力です。
ばねが圧縮されているかどうかに応じて、単純に kC と kD の融合である結果の「ベクトル」を構築したいと思います。
language-agnostic - if ステートメント ロジックの簡素化
読みにくいために 2 つのスケジュール項目が重複しているかどうかを判断するテストを分けました。
論理ステートメントを単純化するのに役立つアプリケーションはありますか?
例: (元は間違った例ですが、私がこれを要求する理由を公開しています)
に減らすことができます
私のコードは次のとおりです。
私はそれをもっと簡単にしたいと思っています.
これは実際には言語に依存しないため、可能性を見つけるために別のスクリプトに変換することもできます。たとえば、C# である必要はありません。
readability - 難読化された C# コード - 簡潔さと明快さのバランスは?
何年も前に、誰が最も難読化された C コードを生成できるかを競うコンテストが行われ、結果の一部は劇的に判読不能になりました。C.がそうだった。特にプリプロセッサを使用すると、本当に問題が発生する可能性があります。
ただし、C# の新しい機能の多くは、コードを難読化する素晴らしい機会を提供します。コードの簡潔さと明快さの適切なバランスを見つけることについて、誰か意見があるかどうか疑問に思っていました。議論のために一例を挙げましょうListView
。(はい、データバインディングでできることは知っていますが、ここで私と一緒に行ってください。)
コントロールは、次の配列で満たされる 2 列です。
1つの明確で簡単な方法は次のとおりです。
明確でわかりやすい。
次のように書くこともできます。
あるいは:
最後に、次のように書くこともできます。
それぞれが多かれ少なかれ、言語のさまざまな新機能を使用しています。簡潔さと明快さのバランスをどのように見つけますか? 難読化された C# コンテストを毎年開催する必要がありますか?