ソースコードで長い行をラップするための標準に従っていますか?どの行の長さが一番読みやすいですか?
ワイドスクリーンモニターでプログラムし、その全幅をソースコードの表示に使用したい人を見つけることがあります。私は80〜100文字程度の短い行を好みますが、増え続けるワイドスクリーンデバイスの人気を同僚に説得するのに苦労します。
編集:
同様の質問:
行の正確な文字数に関する独断的なルールの読みやすさを損なわないでください。水平スクロールは望ましくありませんが、81文字の行は、インデントを混同するほど行を折り返したバージョンよりも読みやすくなっています。
大きなインデントや詳細な変数名を持つプログラミングスタイルでは、80文字は不適切である可能性があります。論理的な複雑さの量を、文字数ではなく、1行あたりの最大数に抑えます。
私は80行のルールに固執します(そして、みんなに同じことをするよう説得してください)。いくつかの理由:
コードを読むために横にスクロールする必要はありません。ただし、画面が大きくなっても線が長くなるわけではありません。また、1行で実行する必要のある量にも制限があります。
だから私は言う:いつものようにそれを70-80文字に保つ。画面が大きいということは、IDEがより広いことを意味します。
また、使用している他の規則にも依存します。ある仕事では、Javaでプログラミングしていました。慣例では、長くて説明的な識別子を使用していました。つまり、80文字の制限に達せずに、行に収まるのはそのうちの2、3だけでした。 。社内のすべての開発者に200文字に簡単に合わせることができるワイドスクリーンモニターが与えられたことを考えると、それはかなり愚かなことだと思いました。このようなハードウェアの一貫性では、愚かな小さな行の折り返し制限を強制しても意味がありません。
単純な理由の1つは、より長い行を好むからです。ウィンドウにより多くのコードを収めることができます。関数を読み取るために垂直方向にスクロールする必要があることと、1つの画面に収まるようにすることの間にはhugeの違いがあります。画面の右半分が空である間に関数が下からスクロールするようにすべてが行で折り返されている場合、それは非常に無駄です。 2つのエディターウィンドウを開いても、ここでは役に立たないことに注意してください。
大きな画面-大きなフォント。 Conslas
14ptを最大化して1280x800の画面解像度でGVimを使用しています。私は約80〜90%の画面幅で折り返すようにしています。
私はラップトップでほとんど独占的にプログラムするので、私は短い行に同意します。確かに、私は通常PDAの画面を設計しているので、それでうまくいく。しかし、コードが開発者間で共有される場合、最終的には誰かのラップトップでコードが終了し、スクロールバーが泣くようになります。
あまり問題なくレター形式のページにコードを印刷できるように、約72〜75列を使用しています。タブの代わりにスペースも使用し、レイアウトに注意しています。
右マージンから外れていることに気づくために、定規として使用できるテキスト行を頻繁に入力します。 IDE表示ウィンドウを設定して、ルーラーが水平方向の幅にちょうど合うようにしてから、その外に出ないようにします。
私は、.txt、.c、.Java、.cpp、バッチファイルなどでこれを行います。これにより、電子メールでのスニペットの送信、ブログへの投稿、コメントの入力などが簡単になります。定規はよくファイルとテキストの形式を識別する一番上の行のすぐ下:
/* example.txt 0.00 UTF-8 dh:2008-11-09
*---|----1----|----2----|----3----|----4----|----5----|----6----|----7----*
*/
もちろん、特定の種類のファイルのコメント規則が使用されます。
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番目の例がもっと読みやすいと思った人は、実際のコードでそれを数回ネストして、もう一度読んでみてください:)