34

ソースコードで長い行をラップするための標準に従っていますか? 一番読みやすい行の長さはどれくらいですか?

ときどき、ワイド スクリーン モニターでプログラムを作成し、その全幅をソース コードの表示に使用する人を見かけます。私は 80 ~ 100 文字程度の短い行を好みますが、ワイドスクリーン デバイスの人気が高まっていることを同僚に納得させるのに苦労しています。

編集:

同様の質問:

4

9 に答える 9

61

行の正確な文字数に関する独断的なルールの読みやすさを妥協しないでください。水平スクロールは望ましくありませんが、81文字の行は、インデントが混乱するように行が折り返されているバージョンよりも読みやすくなっています。

80文字は、大きなインデントや冗長な変数名を持つプログラミングスタイルには不十分である可能性があります。論理的な複雑さの量を、文字数ではなく、行ごとの最大値に抑えます。

于 2008-11-10T00:40:12.810 に答える
20

私は 80 行ルールを守ります (そして、全員に同じように説得するように努めます)。いくつかの理由:

  1. 一度に 2 つ (またはそれ以上) のエディターを開くことができます。
  2. 比較ツールでも同じです。- それらのほとんど (すべて?) は、2 つ (いくつかの 3 つ (さらにいくつか?)) のファイルを並べて表示します。
  3. リモートから、別のワークステーション、またはラップトップで作業する必要がある場合がありますが、突然、適切にフォーマットされた 120 文字から行へのコードがひどいものに見えます。
于 2008-11-09T15:53:41.483 に答える
6

私がより長い行を好むのは、単純な理由の 1 つです。より多くのコードをウィンドウに収めることができるからです。関数を読むために縦にスクロールしなければならないことと、それを 1 つの画面に収めることができることとの間には大きな違いがあります。画面の右半分が空のときに関数が下からスクロールするようにすべてが行ラップされている場合、それは大きな無駄だと思います。2 つのエディター ウィンドウを開くことも、ここでは役に立たないことに注意してください。

于 2008-11-09T17:18:53.993 に答える
5

また、使用している他の規則にも依存します。ある仕事では、Java でプログラミングを行っていましたが、長い説明的な識別子を使用するのが慣習でした。つまり、80 文字の制限に達することなく 1 行に収まるのはそのうちの 2 つだけでした。会社のすべての開発者が 200 文字を簡単に表示できるワイドスクリーン モニターを与えられていたことを考えると、それはかなりばかげていると思いました。そのようなハードウェアの一貫性では、ばかげたほど小さな改行制限を強制することは意味がありません。

于 2008-11-09T17:14:54.533 に答える
5

コードを読むために横にスクロールする必要はありません。しかし、画面が大きいからといって、列が長くなるわけではありません。また、1 行に表示される量にも制限があります。

だから私は言います:いつものように70-80文字に保ちます. 画面が大きいということは、IDE のスペースが増えるということです。

于 2008-11-09T15:43:34.967 に答える
3

1 行 80 文字のコーディング標準を使用します。80 文字の制限の元の理由は今日は関係ありませんが、いくつかの数字を選択する必要があります...

明らかな (コードの構成と読みやすさ) に加えて、通常、長い行は不適切なスタイルの結果であり、そのようなルールに従うことでコードの品質が向上し、エラーが減少することがわかりました。次の例を比較してください。

status = do_something(); 
if (status == error)
{
    do_error_handling();
    return;
} 
/* do you regular flow */
status = do_more();
if (status == error)
{
    do_error_handling();
    return; 
}
/* do more of you regular flow  and keep you line 80 chars*/

代わりは :

status = do_something(); 
if (status == succes)
{
     /* do you regular flow */
     status = do_more();
     if (status == success)
     {
            /* do you regular flow */
            /*  nest again and get line behind visible screen */
     }
     else
     {
         /* do error handling */ 
     }

}
else
{
     /* do error handling */ 
}

2 番目の例は読みにくく、保守が難しく、途中で問題が発生する可能性があります ...

編集

関係のない議論を避けるために、コード内で にgoto 置き換えます。do_error_handling()

前に述べたように、今日は 80 文字は関係ありませんが、100 文字でも十分です。

2番目の例の方が読みやすいと感じた人は、実際のコードでさらに数回ネストして、もう一度読んでみてください:)

于 2008-11-09T16:01:06.553 に答える
3

より大きな画面 -- より大きなフォント。Conslas1280x800 の画面解像度で最大化された 14ptの GVim を使用しています。画面幅の約 80 ~ 90% で折り返すようにしています。

于 2008-11-09T16:37:26.683 に答える
1

私はほぼラップトップでプログラミングしているので、短い行に同意します。確かに、私は通常、PDA の画面を設計しているので、それで問題ありません。しかし、コードが開発者間で共有されると、最終的には誰かのラップトップに行き着き、スクロール バーに泣かされます。

于 2008-11-09T15:52:51.063 に答える
0

レター形式のページに問題なくコードを印刷できるように、72 ~ 75 列程度を使用しています。タブの代わりにスペースも使用し、レイアウトにも気を配っています。

右マージンから外れていることに気付くために、定規として使用できるテキスト行を挿入することがよくあります。IDE 表示ウィンドウを設定して、定規が横幅にちょうど収まるようにし、それからはみ出さないようにします。

私はこれを .txt ドキュメントだけでなく、.c、.java、.cpp、バッチ ファイルなどでも行います。これにより、電子メールでスニペットを送信したり、ブログに投稿したり、コメントを付けたりすることが容易になります。ファイルとテキストの形式を識別する一番上の行のすぐ下:

/* example.txt 0.00                  UTF-8                   dh:2008-11-09
*---|----1----|----2----|----3----|----4----|----5----|----6----|----7----*
*/

もちろん、特定の種類のファイルのコメント規則が使用されます。

于 2008-11-09T21:21:30.540 に答える