問題タブ [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 投票する
10 に答える
1075 参照

java - Java: 外国のホラー コードをクリーンな API に変換するためのベスト プラクティス...?

私はプロジェクトを持っています(グラフアルゴリズムに関連しています)。それは別の人によって書かれています。

コードは恐ろしいです:

  • public フィールド、getter/setter なし
  • 巨大なメソッド、すべてパブリック
  • 一部のクラスには 20 を超えるフィールドがあります
  • 一部のクラスには 5 つ以上のコンストラクターがあります (これも巨大です)。
  • これらのコンストラクターのいくつかは、多くのフィールドを残すだけですnull
    (そのため、いくつかのフィールドを final にすることはできません。これは、1 つおきのコンストラクターがエラーを通知するためです)。
  • メソッドとクラスは双方向で相互に依存しています

これをクリーンでわかりやすい API に書き直す必要があります。

問題は次のとおりです。私自身、このコードで何も理解していません。

そのようなコードを分析して理解するためのヒントを教えてください。

おそらく、静的コード分析を実行し、グラフなどを呼び出すツールがあるのではないかと考えていました。

0 投票する
6 に答える
407 参照

java - 「\\\\」を使用して「\」をJavaの正規表現と一致させるのが最も読みやすい方法ですか?

以下が機能することは知っていますが、それほど読みやすくはありません。コメントを追加せずにコード自体を読みやすくする方法はありますか?

0 投票する
7 に答える
324 参照

c# - 重複コードの削減

このような色構造で機能するコードがいくつかあります

ここで、渡されたものに応じて異なる変数を変更するメソッドを作成する必要があります。コードは次のようになります。

さて、これは私が通常は決して疑問に思わないことです。#region ステートメントをその周りに投げて、1 日と呼びますが、これは私が持っているものの単なる例であり、実際の関数はかなり長いです。

私はそれを次のようにしたい:

したがって、基本的に、値は使用されている変数を参照します。これに名前はありますか?これがReflectionの目的ですか?またはそのようなもの.これを行う方法はありますか?

0 投票する
6 に答える
438 参照

java - if-else 構造

ここでは、x、y などと呼ぶ長いステートメントがあります。私の条件文の構造は次のようになります。

このことを書くためのより良い、より短い方法はありますか? ありがとう

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

c++ - 「for(;;)」は「while (true)」より速いですか? そうでない場合、なぜ人々はそれを使用するのですか?

この種のものがよく使われているのを見てきましたが、かなり奇妙だと思います... while(true)、またはそれらの線に沿った何かを言う方がはるかに明確ではないでしょうか?

私は推測しています (多くのプログラマーが不可解なコードに頼る理由と同様に) これはわずかなマージンの高速化でしょうか?

なぜ、そしてそれは本当に価値があるのですか?もしそうなら、なぜそれをこのように定義しないのですか:

こちらもご覧ください: while(1) と while(2) のどちらが速いですか?

0 投票する
7 に答える
8255 参照

java - java try ブロックはできるだけ厳密にスコープする必要がありますか?

Java の try-catch メカニズムを使用するとオーバーヘッドが発生すると言われました。そのため、可能性のある例外を処理するには、チェック済み例外をスローするメソッドを try ブロック内に配置する必要がありますが、try ブロックのサイズを制限して、例外をスローする可能性のある操作のみを含めることをお勧めします。

これが賢明な結論かどうかはわかりません。

指定されたテキスト ファイルを処理する関数の以下の 2 つの実装を検討してください。

最初の方法で不必要なオーバーヘッドが発生することは事実ですが、私はそれを理解するのがはるかに簡単だと思います. ステートメントを見るだけでは、例外がどこから来るのか正確にはわかりませんが、コメントはどのステートメントが原因であるかを明確に示しています。

2 番目のものは、最初のものよりもはるかに長く、複雑です。特に、最初の優れた行読みイディオムは、readLine呼び出しを try ブロックに収めるためにマングルする必要があります。

定義で複数の例外がスローされる可能性がある関数で例外を処理するためのベスト プラクティスは何ですか?

これには、try ブロック内のすべての処理コードが含まれています。

これには、try ブロック内で例外をスローするメソッドのみが含まれています。

0 投票する
2 に答える
83 参照

c#-3.0 - このC#2.0スニペットをLinqに変換するのを手伝ってください

これは宿題ではありません;)A)次のコード(TODOと〜TODOの間)を最適化し、B)[P]Linqに変換する必要があります。より良い読みやすさが望まれます。A)とB)に別々に答えを提供することは理にかなっているかもしれません。ありがとう!

PS私の他の賞金稼ぎの質問をチェックしてください。

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

c# - 文字列を変数に移動するのではなく、コントロールから直接読み取ることに大きな利点はありますか?

上記のコードを考えると...テキストボックスのデータを文字列変数に移動する必要がない場合、コントロールから直接データを読み取るのが最善ですか?

パフォーマンスの観点からは、不要な場合にメモリを消費する不要な変数を作成しないことが最も賢明に思えます。それとも、これは技術的には正しいが、問題のデータのサイズが原因で実際​​の結果が得られない状況ですか?

すみません、これが非常に基本的な質問であることは承知しています。

0 投票する
2 に答える
359 参照

.net - LINQのチェーンされたSelect()をオブジェクトに分割すると、パフォーマンスが低下しますか?

次の疑似C#コードを使用します。

2つのSelect()呼び出しを組み合わせると、より速くなりますか?上記のコードに余分な反復がありますか?次のコードは速いですか?

パフォーマンスに違いがなければ、最初の例の方が読みやすいと思います。

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

java - 他のコードから呼び出された長いSQLを読み取り可能にするにはどうすればよいですか?

これは非常にオープンな質問ですが、SQLの可読性にとって非常に有益であると思います。

つまり、Javaプログラムがあり、そこから多くのサブクエリと結合を使用してモンスターSQLステートメントを呼び出そうとしています。私の質問の出発点は、次のような文字列定数です。

後でString.formatを使用して入力され、実行されます。

この種のものを読みやすくするための秘訣は何ですか?内部結合を分離しますか?文字列内でSQL自体をインデントしますか?コメントはどこに置きますか?あなたの兵器庫にあるすべてのトリックを共有してください。