問題タブ [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.

0 投票する
21 に答える
1039 参照

c# - より読みやすいものは何ですか?

これら 2 つのコードがありますが、どちらが読みやすいですか?

  1. foreach

    /li>
  2. リンク

    /li>
0 投票する
3 に答える
506 参照

javascript - 大規模なコードベースで適切に保守可能で読み取り可能な jQuery をコーディングするための業界およびコミュニティのベスト プラクティスは何ですか?

Ruby のバックグラウンドを持っているため、メソッドなどを含むクラスを使用してすべてのコードを記述することに慣れています。私は JavaScript をよく知っていますが、jQuery とそのベスト プラクティスは初めてです。

明らかに、javascript でクラスをシミュレートする方法は無数にあります。しかし、実際の jQuery コミュニティは実際に何を実際に使用しているのでしょうか?

具体的な例が理想的です。または、実際の製品コードへのリンク。架空の理想的なコードへのリンクも役立ちます。

ありがとう!

0 投票する
20 に答える
2584 参照

ruby - コードを煩わしくすることなく、どのように「自己文書化」することができますか?

ここでのベスト プラクティスが何であるかはわかりませんが、特にスコープが小さい場合は、短縮された変数名をよく見かけます。したがって、(単純な Ruby の例を使用するために) の代わりにdef add_location(name, coordinates)、 のようなdef add_loc(name, coord)ものが表示されdef add_loc(n, x, y)ます。略語を見ることに慣れている人は、長い名前に疲れてしまうのではないかと思います。

冗長性は読みやすさに役立ちますか?それとも、すべての人の目を傷つけるだけですか?—人々は長い名前よりも略語や短縮された名前を好みますか?

0 投票する
8 に答える
680 参照

php - 読みやすくするために if ステートメントをフォーマットする

読みやすくするためにこれをフォーマットする最良の方法は何ですか?

0 投票する
3 に答える
361 参照

javascript - 長い write() 引数を処理する最良の方法はどれですか?

更新:応答してくれてありがとう。document.write() が廃止されたことに気づきませんでした。学習の列にもう 1 つのノッチを追加します。ここに投稿されたアドバイスを受け入れますが、元の質問のコンテキストで回答が意味をなすように、元の質問はそのままにしておきます。


私はいくつかのかなり長い write() 引数をコーディングしている最中であり、構文、読みやすさ、およびパフォーマンスを考慮して、次の例のどれに従うのが最善かを決定しようとしています. するべきか

を。それらをすべて 1 行にまとめます。

b. 読みやすくするために、改行を追加して分割します。

c. 複数の変数を使用してそれらを分割します。

前もって感謝します。

0 投票する
9 に答える
142341 参照

colors - 背景色がわかっている場合、見栄えの良いフォントの色を見つける方法は?

カラーホイール、カラーピッカー、カラーマッチャーのWebアプリは非常にたくさんあるようです。ここでは、1つの色を指定すると、他の2つの色を見つけて、組み合わせて使用​​すると調和のとれたレイアウトが作成されます。ただし、それらのほとんどは背景色のみに焦点を当てており、各背景色に印刷されるテキスト(プレビューでテキストが印刷される場合)は黒または白のいずれかです。

私の問題は違います。テキスト領域に使用したい背景色を知っています。私が助けを必要としているのは、この背景のフォントの色として使用できるいくつかの色(多ければ多いほど楽しい)を選択することです。最も重要なのは、色によってフォントが読みやすくなること(コントラストが低すぎないこと、また、目が強調されないように高すぎないこと)、そしてもちろん前景と背景の組み合わせが見栄えがすることです。

そのようなアプリケーションを知っている人はいますか?ダウンロードするものよりもWebアプリケーションの方がいいです。ありがとう。

0 投票する
22 に答える
91618 参照

while-loop - while (true) with break はプログラミングの悪い習慣ですか?

私はよく次のコード パターンを使用します。

別のプログラマーは、これは悪い習慣であり、より標準的なものに置き換える必要があると私に言いました:

彼の推論は、「休憩を忘れる」ことがあまりにも簡単で、無限ループが発生する可能性があるというものでした. 私は彼に、2 番目の例では、true を返さない条件を同じように簡単に設定できるので、同じように簡単に無限ループを作成できるので、どちらも同じように有効なプラクティスであると伝えました。

さらに、複数のブレークポイント、つまりループから抜け出す複数の条件がある場合にコードが読みやすくなるため、前者を好むことがよくあります。

どちらか一方の証拠を追加して、この議論を充実させることができる人はいますか?

0 投票する
8 に答える
840 参照

python - 遅延バインディングは「可読性が重要」という哲学と一致していますか?

申し訳ありませんが、Python のせいにするつもりはありません。これは、私が信じていることが正しいかどうかの単なる反省です。私は 2 年間 Python の信奉者であり、小さなアプリだけを作成し、どこにいても Python を称賛してきました。私は最近、Django のコードを読む機会があり、Python が本当に「可読性を重視する」哲学に従っているかどうか疑問に思い始めました。例えば、

インスタンス変数が使用時に作成される状況 (つまりself.c、上記のスニペット) では、コードの流れを追跡するのは困難です。この方法で書かれた大量のコードを読んでも、どのインスタンス変数が定義されているかを確認することはできません。メソッドが 6 ~ 8 個しかなく、コードが 100 ~ 150 行以下のクラスを読むときでさえ、非常にイライラします。

他のほとんどの言語は C++/Java スタイルと同じアプローチに従っているため、このコードの私の読み方が C++/Java スタイルによって歪められているかどうかを知りたいと思っています。このコードをより流暢に読む Pythonic の方法はありますか? Python 開発者が「読みやすさ」を念頭に置いてこの戦略を採用した理由は何ですか?

0 投票する
10 に答える
27493 参照

c# - C#で「5の中央値」を計算するにはどうすればよいですか?

中央値5は、アルゴリズム設計の演習として使用されることがあり、 6つの比較のみを使用して計算できることが知られています。

この「6つの比較を使用した5つの中央値」をC#で実装するための最良の方法は何ですか?私のすべての試みは厄介なコードをもたらすようです:(まだ6つの比較だけを使用しながら、私は素晴らしくて読みやすいコードが必要です。

注:ここでも「アルゴリズム」を提供する必要があると思います。

Azerealがフォーラムの投稿で行ったように、アルゴリズムを明確に説明できないことに気づきました。そこで、ここで彼の投稿を参照します。http://www.ocf.berkeley.edu/~wwu/cgi-bin/yabb/YaBB.cgi?board=riddles_cs;action=display;num=1061827085から

さて、私は自分の課題の1つでこの問題を提起され、このフォーラムに助けを求めましたが、ここには助けがありませんでした。私は最終的にそれを行う方法を見つけました。

  1. 最初の4つの要素でマージソートを開始し、各ペアを並べ替えます(2つの比較)

  2. 各ペアの下の2つを比較し、可能性から最も低いものを除外します(3つの比較)

  3. ペアのない数に取っておいた5番目の数を追加し、2つを比較します(4つの比較)

  4. 2つの新しいペアのうち最も低い2つのペアを比較し、下のペアを削除します(5つの比較)

  5. 1つだけを比較し、最後のペアの小さい方を比較します。小さい方の数値が中央値です。

    可能な中央値は括弧内にあります

(54321)

5:4 3:22比較

(4 <5 2 <3 1)

4:23比較

2(4 <5 3 1)

1:34比較

2(4 <5 1 <3)

4:15比較

1,2(4 <5 3)

4:36比較

1,2(3)4,5

3つは中央値です

これは、中央値5を見つけるために私が書いたC++コードです。その厄介さを気にしないでください:

もっとコンパクトなはずですね。


@pablitoが彼の回答で指摘したように、ビルトインList.Sort()は最大13の比較を使用するため、この要件を満たすことはできません:]