問題タブ [code-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# - null 参照チェックのより読みやすい方法
私が作成する多くのアプリでは、DBML オブジェクトのサブクラスにデフォルト値を割り当てていることに気づきます。これは私がそれをしなければならない現在の方法の例です:
理想的には、次のように最も読みやすくなります。
ただし、null である外部キー付きオブジェクトには NullReferenceException があります。ここでは null 合体は使用できないと思いますが、この非常に頻繁なタスクを達成するための他の適切な方法はありますか? おそらく、クラス/メソッドの拡張、または VS マクロでさえありますか?
この例では Northwind データベースを使用しました。
あらゆる提案を受け入れます。
c++ - マクロはコードを読みやすくしますか?
マクロとその可読性について議論しました。場合によっては、マクロを使用するとコードが短くなり、理解しやすくなり、読むのに疲れにくくなると思います。
例えば:
ここでは 2 番目のオプションを好みます。これは短くてコンパクトであり、Caps Lock のテキストがキャメル ケースよりも明確で読みやすいためです。
この方法、特に C++ に何か問題がありますか?それとも単にスタイルが悪い (しかし受け入れられる) だけですか?
c++ - Shunting Yard での括弧付き式の処理
括弧で囲まれた式を処理するために、次の手書きのループがあります。
(output
とpunctuators
はどちらも 型std::vector<token>
で、は aとデータ メンバーで構成されるtoken
非常に単純なものです。)struct
char kind
unsigned value
手書きのループからアルゴリズムに切り替えると可読性が向上するかどうか疑問に思っていました。
しかし、どういうわけか、おそらく逆イテレータの使用と、特に通常のイテレータへの変換が原因で、このコードはかなり読みにくいと感じています。より良い解決策はありますか?手書きのループの方が読みやすいと思いますか?それとも、アルゴリズムに関しては、まだ光が見えていないだけですか?
java - 読みやすさの観点から見た Java 変数の最適な名前の長さ
次の Java スニペットの定数を検討してください。
上記の定数CUSTOMER_ID_NOT_INTEGERは、値が Integer.MAX_VALUE より大きいため、整数に変換できない文字列を格納するために使用されます。
これは、せいぜい値が「無効な」customer_id であることを伝える変数の名前からは明らかではありません。値が無効である理由については何も伝えられません。
1つのオプションは、次のようなコメントを書くことです:
ただし、コメントを使用せずに自己文書化コードを作成する必要がある場合は、変数名をよりわかりやすいものにするしかありません。何かのようなもの :
しかし、上記のオプションでは、特に Code Complete 2 からの最適な変数名の長さに関する次のスニペットを検討する場合、変数名の長さに満足していません:
変数名の長さとコードの読みやすさのバランスをとるにはどうすればよいでしょうか?
c++ - C++のネストされたIfステートメントの可読性
ifステートメントのロジックはかなり複雑です。私は現在使用しています:
ここで、boolOne、boolTwo、およびboolThreeは論理演算です(おそらくx < y
、または'myObject-> getBool'など)。
3番目のステートメント||
内に条件をネストせずにこれを簡単に読み取れるようにするためのより良い方法はわかりません。if
私が苦労している理由は、オペレーターが3番目のステートメントが正当or
であると思われるようにするためです。if
1つのオプションはこれを行うことです。
または、私は次のようなことをすることができます
たぶん、すべてまたは組み合わせを単一の戻り値に検証しようとする別の関数を作成することさえできますか?
または、これが不要な方法でコードを再構築することもできます。これには、かなりの時間がかかる場合があります。
私の質問:複雑な質問をフォーマットするための最良の方法は何ですか?これには、単なるバリエーションif
よりも複雑な評価が含まれますか?ステートメントをステートメントと組み合わせて1行にif (!A && B && C)
含めると、物事がどうしようもなく読めなくなるようです(特に、boolOne、boolTwoなどの複雑な評価がある場合) 。-複数の条件を持つifステートメントをフォーマットするための最良の方法-と同じ原則がここにも当てはまりますか、それともさまざまな論理演算子を使用するときに根本的な違いがありますか?||
&&
python - コード全体で self.__local_object を使い続ける必要がありますか?
私は以前の同僚のコード (Python3) を拡張していますが、個人的には、これらの繰り返しがself.__local_object.x=some_result
煩わしく、読みやすさを妨げていることに気付きました。つまり、代わりに
むしろ使いたい
ただし、私はまだ Python の開発に慣れていないため、参照されるオブジェクトにそのような (できれば) ローカル エイリアスを導入すると、さらなるメンテナンスが悪夢になるゴールデン ガイドラインを見逃している可能性があります。
PS: いいえ、self.__local_node
の値はそのコードのどの場所でも変更されていません。
javascript - jQueryの読みやすさ:内部にテーブルを挿入エレメント
javascriptとjQueryコードをより美しく書き、読みやすくする方法についてアドバイスをもらいたいと思います。
この場合、リスト要素内にテーブルを挿入したいと思います。リストとテーブルの両方が、スクリプトを使用して動的に追加されます。
私はこのようなコードを持っています:
上記のコードのコメントに書いているように。appendメソッドを使用して、そこに多くのHTMLコードを入れることができます。しかし、それは本当に醜いように見えます...そして上記の例では、リストに1行追加しただけです。最終的な目標では、約6つのセルで3つの行を追加する必要があります。各セルには、コンテンツに独自のスタイルが設定されます。それは本当に混乱になります。
どんなアドバイスもいただければ幸いです!ありがとうございました!
if-statement - グッドプラクティス:値をブール値と比較しますか?
ほとんどの場合、私はこれを書くことを好みます:
これの代わりに
読みやすいと感じているからです(でも意味がないことは理解しています)。
この慣行について共通の合意があるかどうか知りたいのですが。ほとんどの開発者は何をしますか?そして、コンパイラーが余分な比較を行っているのか、それともそれが役に立たないことを理解しているのか疑問に思います。
java - どうすればこれをより読みやすく、よりクリーンにすることができますか?
これをもっと読みやすく、きれいにするために何ができるのだろうかと思っています。読みやすいということは、他の開発者にとって読みやすいという意味です。
同じコードを2回使用したくありません。いくつかの方法で短くできると思いますが、よくわかりません...
c# - なぜLINQ式を使用するのですか?
私はResharperを使用しており、次のような数行のコードを作成すると、次のようになります。
LINQ式に変換するかどうかを尋ねられます。
多くの人に、LINQステートメントで何が起こっているのかを読むのに苦労していると言われました...では、コードが読みにくくなるのであれば、なぜそれをLINQ式に変換したいのでしょうか。