Linuxカーネルの開発者であるLinus Torvalds氏は5月29日(米国時間)、「LKML: Linus Torvalds: Re: clean up kernel_{read,write} & friends v2」において、ソースコードの幅を80列までとする現在の制限によって生まれる過度の改行はソースコードにとって良くないことであり、さまざまな問題を引き起こすと指摘した。

同氏はメールの中で次のような意見を述べ、制限を緩和する方向の意見を示している。

  • grepのようなコマンドは基本的に行単位で検索を行うので、過度に改行されたソースコードだと扱いにくい。
  • すでに多くのユーザーが80列幅のターミナルを使用せず、より広い幅にして使用している。同様の理由で25行の高さというのも使わず、より長い高さに変更して使っている。
  • 少数のユーザーが小さいターミナルウィンドウを使用しているという理由で、80列幅に収められたソースコードのパッチが送信されてくるのだが、正直なところこのパッチは読みにくい。
  • ディスプレイは基本的に横に長い。
  • 長いラインは基本的に便利。
  • (Linus Torvalds氏は)デフォルトではターミナルウィンドウのサイズを100×50にしており、実際には使用時にサイズを拡大して142×76にして使っていることが多い。ps ax、top、git diff -statといったコマンドの出力など、より大きなターミナルウィンドウのほうが便利。
  • ハードウェアが制限されているユーザーに過度に合わせることで、よりよいリソースを持っているユーザーに不便を強いるべきではなく、合理的な範囲内で対応していくべき。
  • 2020年において80列制限はもはや妥当とは言えない。80年代ですら多くのユーザーは132列ターミナルウィンドウを一般的に使用しており、80列制限を不動の標準とすべきではない。
  • ローカルの反復変数は依然として「i」といったものを使うが、変数名として10文字から15文字程度の変数名を使うのは完全に合理的であり、ソースコードを読みやすくしてくれる。現在ではプログラミング的にも1行辺りの長さが長くなりやすい。
  • インデントによって内部構造を一瞥して理解できるようになるため、広いタブを使用している。このように、多くの状況で行は簡単に長くなる。
  • LKML: Linus Torvalds: Re: clean up kernel_{read、write} & friends v2

    LKML: Linus Torvalds: Re: clean up kernel_{read,write} & friends v2

Linus Torvalds氏のメールに続く形で次のメールが投稿され、1行辺りの制限をこれまでかなり厳密に80文字としていた部分を、合理的であれば100行でもよいといった内容に書き換えるパッチが示されている。

ソースコード1行辺りの長さを80文字(列)に制限するコーディング規則は、多くのプロジェクトで見られる。Linuxカーネルがソースコード1行あたりの幅を引き上げた場合、ほかのプロジェクトも同様の動きを見せる可能性がある。