kledgeb UbuntuやLinuxの最新情報を紹介

Linux その233 - 誰がこのようなコードを許した?

誰がこのようなコードを許した?

Linus Torvalds 氏が体系立てて書かれていないコード及び Rust のフォーマットチェック機能に一言あるようです。


  • Linus Torvalds Vents Over "Completely Crazy Rust Format Checking"

体系立てて書かれていないコード

まずは体系立てて書かれていないコードからです。

誰がこのようなコードを提出して良いと言った?

貴様共のくだらぬエディタで整形された文字列など、私の目に触れる価値はない。 
私が求めているのは秩序だ。論理だ。構造だ。

Alloc、DMA、DRM、Rust。 
それらはサブ領域である。
だが貴様はそれをただ並べただけ。 
インデントは崩れ、階層は死に絶え、説明は乱雑な言葉の塊に成り果てた。

私が問いたいのは一つのみ。

何故にこのコードはそれ程までに壊れているのか?

DRM のプルリクエストを提出したからと言って終わりではない。 
そこから始まりだ。
より整然と、より明瞭に、私の目に耐えうるコードを書くための始まり。

私は長年、Linuxカーネルの秩序を守ってきた。
その中で価値あるコードは常に、論理と美しさを備えていた。

しかし貴様の提出物はどうか?
何度インデントを壊し、何度説明を乱した?

EDLINか?

”そんなことを俺たちに言われても・・・” 
何だ?言ってみろ。

”コードが・・・読めるのか?まずい・・・。”
何がまずい?言ってみろ。

説明を読みやすくしろ。
ただの文字の寄せ集めではなく、意味のある文章にしろ。

何がまずかったのか

変更点の一覧を記述する箇所で、機能のカテゴリーごとに体系立てて変更点が書かれていなかった点です。

EDLIN とは

EDLIN は MS-DOS や PC-DOS に含まれていた標準的なテキストエディターです。
行単位でテキストの編集を行うため、ラインエディターとも呼ばれます。

  • EDLIN

MS-DOS で EDLIN は MS-DOS 1.0 から MS-DOS 5.0 まで採用されていました。
また EDLIN は45年前の1980年に登場したテキストエディターであり、たった2週間で開発されたテキストエディターです。


ちなみに上記リンク先の「PC-98版MS-DOS 3.1でのバグ」の項目には興味深い内容が書かれていますね。 

Rust のフォーマットチェック機能

次に Rust で書かれた DRM コードに関する内容です。
Rust にはコードのフォーマットをチェックする機能があります。

use 文

今回提出されたコードに以下のようなコードが含まれていました。

use crate::xyz;
use crate::abc;

この Rust のコードは C++ で言うところの using std::cout のような役割を持つコードです。
この Rust のコードは以下のようにも記述できます。

use crate::{
xyz,
abc,
};

このように記述したほうが新しい crate を後で追加する際にも記述が簡単になり、またこのコード周辺にすでに書かれていた use も同様の記述になっていました。
このほうが合理的で一貫性があると Linus 氏は言及しています。

コードのフォーマットチェック

さて実際に上記のように修正した Rust のコードをフォーマットチェックにかけてみると、以下のような書き方を提案してきます。

use crate::{xyz, abc};

これではいつ複数行で書く方法が提案され、いつ圧縮形式({}で記述する方法)が提案されるのかが分からず、ヒューリスティック(経験則的あるいは直感的)に感じる Rust のフォーマットチェックに不満を表明しています。

Linux
スポンサー
コメント
コメントポリシー
コメントをする前に UbuntuのCode of Conduct(CoC/行動規範) を確認し、CoCに沿ったコメントをお願いします。
コメントの使い方は、コメントの使い方を参照してください。
同一カテゴリーの記事
SNS
人気の記事
  • Ubuntu 26.04 その42 - Ubuntu 26.04.1 LTS のリリーススケジュール
    Ubuntu 26.04.1 LTSのリリーススケジュール Ubuntu 26.04.1 LTS のリリーススケジュールを紹介します。
  • Linux Mint その292 - Linux kernel 7.0 採用の Linux Mint 22.3 リリース・システム管理ツールにカーネル管理機能追加など
    Linux Mint 月刊ニュース Linux Mint 開発チームは Linux Mint 月刊ニュースにて、Linux Mint の開発状況や取り組みを紹介しています。
  • Ubuntu 26.04 その68 - Ubuntu 26.04.1 LTS がリリースされました・ディスクイメージのダウンロード
    Ubuntu 26.04.1 LTS リリース 2026年8月27日、Ubuntu 26.04.1 LTS がリリースされました。
  • Linux その422 - GNOME Boxes の再構築と未来・Flatpak のみの提供やモダンな機能の実装など
    GNOME Boxes の再構築と未来 GNOME Boxes の再構築と未来が以下で紹介されています。
  • Kubuntu その117 - Kubuntu 26.04 LTS にもっと手厚いサポートを・最高の信頼性を誇る KDE 搭載ディストリビューションを目指して
    最高の信頼性を誇る KDE 搭載ディストリビューションを目指して Kubuntu 26.04 LTS に手厚いサポートが導入されました。
  • Linux その421 - GNOME Shell のデザイン構想と長期的な見通し
    GNOME Shell のデザイン構想と長期的な見通し GNOME Shell のデザイン構想と長期的な見通しが、以下で紹介されています。
  • Linux その420 - KDE Plasma で実装予定の新機能や改善・UI レイアウトの調整やリモートデスクトップの改善など
    KDE Plasma で実装予定の新機能や改善 KDE Plasma で実装予定の新機能や改善を紹介します。
  • Windows その29 - Windows 向け Coreutils 登場・Coreutils のインストールやコマンドの一覧など
    Windows 向け Coreutils 登場 Windows 向け Coreutils が登場しました。
  • Ubuntu 18.04 その195 - PolicyKitにクラッシュや権限の昇格など複数の脆弱性・今すぐアップデートを
    PolicyKitの脆弱性 2018年7月16日、クラッシュや権限の昇格など複数の脆弱性に対応した「PolicyKit」がリリースされました。
  • Linux その386 - Arch Linux の AUR パッケージで悪意あるコミットが続く・今度はソースコードの難読化か
    Arch Linux の AUR パッケージで悪意あるコミットが続く Arch Linux の AUR パッケージで悪意あるコミット(マルウェア)が続いています。
記事のピックアップ
オプション