1

これは主観的な質問です。私が非常に嫌なことをしたことで同僚にうめき声を上げる価値があるかどうかを判断したいからです。

問題は、多くの同僚が幅に合わせてメソッド呼び出しを切り捨てることです。私たちは皆、大きな解像度 (私の場合は 1920x1200) を処理できるワイドスクリーンのラップトップを使用しており、コードのデバッグと読み取りに関しては、複数行の呼び出しではなく、1 行のメソッド呼び出しを読む方がはるかに簡単であることがわかりました。

メソッドの例を次に示します(どのようにしたいか):

IReallyLongInterfaceName instanceOfInterfaceName = OurContainer.retrieveClass(IReallyLongInterfaceName.class, param1, param2, param3);

(私は本当に長いインターフェイス/クラス名も嫌いです:)

これは StackOverflow ではうまくレンダリングされないようですが、ほとんどの人は私の言いたいことを知っていると思います。とにかく、他の開発者の一部は次のことを行います。

IReallyLongInterfaceName instanceOfInterfaceName = OurContainer.retrieveClass(IReallyLongInterfaceName.class, 
                                                                              param1, 
                                                                              param2, 
                                                                              param3);

一日の終わりにどちらが読みやすいですか? 2つのうち最初のものを使用するように依頼するのは不合理でしょうか? (これは当社の基準の一部であるため)

4

6 に答える 6

3

最初の例は一般的に読みやすいと思いますが、事前定義された制限(私にとっては、120文字)よりも長い場合は、次の行を分割します。

IReallyLongInterfaceName instanceOfInterfaceName =
        OurContainer.retrieveClass(IReallyLongInterfaceName.class,
                                   param1, param2, param3);
于 2008-10-02T10:45:52.497 に答える
2

私は2番目の例を好みます。ワイドスクリーンのラップトップを使用している場合でも、ウィンドウが常にフルスクリーンであるとは限りません。また、IDEでは、メインのコーディング領域の周囲に他の多くのパネルがあり、コードの表示に使用できる幅が狭くなっている場合があります。

スクロールしないと線が収まらない場合は、水平スクロールよりも垂直スクロールの方が適しています。左から右に読むので、水平スクロールは常に前後に移動することを意味します。

私は、Aviの提案よりも、1行に1つのパラメーターを好みます。これは、私にとっては恣意的です。パラメータを複数の行に分散しているが、各行に複数のパラメータがある場合、コードを読み取るときに特定のパラメータを見つけるのがより困難になります。

于 2008-10-02T11:10:27.760 に答える
2

会社のコーディング標準で、方法 1 が正しい方法であると明示的に述べられている場合は、会社の標準に準拠していないため、どうしてもうめき声を上げてしまいます。明示的に述べられていない場合は、今が標準に含める良い機会になると思います。ただし、自動フォーマットで IDE を使用している場合、実行時にメソッドをスタイル 2 に再フォーマットする必要がある場合があることに注意してください。そのため、誰もがスタイル 1 で書いていても、書き終わったときにそのように表示されない場合があります。

Phil のように、私は方法 2 の方がはるかに読みやすいと思います。なぜなら、目を横にスクロールしなくても、見る必要があるものすべてを見ることができるからです :)

于 2008-10-02T10:31:12.597 に答える
2

たぶん、標準のビルド プロセスの一部として、まさにそのようなことをチェックするある種の checkstyle プラグインを用意する必要がありますか? 同僚と基準に同意した場合は、それを守るように依頼するのが妥当と思われます。

個人的には、2 つのオプションのうち 2 番目の方が読みやすいと思いますが、それはワイドスクリーン モニターを持っていないからです ;)

于 2008-10-02T10:24:26.277 に答える
0

オプション#2も好みます。問題は、それが画面上でどのように見えるかだけではありません (水平ピクセルが 1920 ピクセルだったら、ドッキングされたウィンドウがもっとたくさんあるはずです)。長い行はほとんどの IDE でひどく印刷されますが、作成者が読みやすさを改善する目的で改行した場合はうまく印刷されます。

もう 1 つのポイントは、一般的な読みやすさです。雑誌や新聞がコラムで印刷されるのには理由があります。一般に、テキスト (特に画面上のテキスト) の読みやすさは、行が短くなり、レイアウトや書式が改善されることで改善されます。

80 は恣意的すぎるかもしれないと思いますが、私は 10pt Consolas を使用しており、標準の 8.5 インチ印刷ページで 1 行あたり約 100 文字を取得できるようです。

結局のところ、これは聖戦です。中括弧を置く場所ほど悪くはないかもしれませんが、そこにあります。私はあなたに私の好みを伝えましたが、本当の質問はあなたに戻ります:あなたの会社の基準は何ですか? 彼らはオプション 2 で標準化したように思えます。つまり、チームのために、おそらくそれらに適応する必要があります。

于 2008-10-02T11:29:26.963 に答える
0

私はオプション 2 を好みますが、オプションで、変数名が明らかでないパラメータのコメントを付けます。一連のパラメーターを要求する関数呼び出しがある場合、レビュアーがコードが何を行っているかを判断するのはかなり難しい場合があります。

したがって、特定の関数に 3 つ以上のパラメーターがある場合、通常は次のようにコーディングします。

applyEncryptionParameters(key,
                          certificate,
                          0, // strength - set to 0 to accept default for platform
                          algorithm);
于 2008-10-03T03:43:34.847 に答える