ホーム ビデオゲーム ゲームデバイス リナックス Linux カーネルをプログラミングするときに Linus Torvalds がイライラしてしまう悪い習慣があります。そしてあなたは完全に正しいです

Linux カーネルをプログラミングするときに Linus Torvalds がイライラしてしまう悪い習慣があります。そしてあなたは完全に正しいです

ソフトウェア開発の世界、特に Linux カーネルのような大規模プロジェクトでは、コードの品質と一貫性を維持するために秩序ある透明な作業慣行が不可欠です。これは、 Git などのバージョン管理ツールを使用してさまざまな開発者からの貢献を管理する場合にさらに明らかになります。

Linux カーネルの作成者および保守者である Linus Torvalds は、最近、これらの実践の 1 つである、ログの変更の「マージ」を適切に説明することの重要性について注意を喚起しました (むしろ大騒ぎしました)。

「マージ」とは何ですか?なぜ重要ですか?

この用語に馴染みのない方のために説明すると、Git の「マージ」とは、さまざまな開発ブランチからの変更を 1 つの開発ブランチに結合するプロセスを指します。このプロセスは、さまざまな開発者が行った作業を共通のコードに統合できるため、チームとして作業する場合に非常に重要です。

ただし、マージを要求/承認するだけでは十分ではありません。なぜこの合併が行われるのかを説明する明確なメッセージを添えることが不可欠です。このメッセージは、他の開発者が変更のコンテキストを理解し、クリーンでわかりやすい開発履歴を維持するのに役立ちます。

ライナス・トーバルズの批判

画像: レディット

1 年ちょっと前、Linux 6.3 カーネルの開発プロセス中に、Torvalds氏は特定の「マージ」における説明が不足していることに不満を表明しました。問題の開発者は、次のようなメッセージを含むマージ リクエストを送信しました。

「変更のほとんどは、I2C ホスト ドライバーと EEPROM ドライバーのマージされたリクエストにあり、独自の説明はそこにあります。」

Torvalds 氏にとって、この短い説明は不十分であるだけでなく、プロジェクトにマイナスの結果をもたらす可能性がある注意の欠如を示しました。

Linux Kernel Developers (LKML) メーリング リストの公開メッセージで Torvalds 氏は、 「マージについて説明できない場合は、マージを実行しないでください」という、彼が基本的であると考えている原則を繰り返し述べました。

「『すべての説明は別の場所にある』と言うことに何の意味があるのですか? それは要求の要点ではありません。私は知る必要があります。[…] あなたは私にそれをマージするように頼んでいます、そしてくそー、それはあなたが説明する必要があることを意味しますなぜ統合する必要があるのか​​。」

同氏の怒りは明らかで、十分に正当化できない合併は、同氏自身の言葉を借りれば「定義上、欠陥のあるゴミ」であると明言した。

トーバルズ氏は、なぜ合併が行われるのか説明しないことには正当な言い訳はないと主張した。同氏によると、不当な合併は開発履歴を読みにくくするだけでなく、問題や誤った決定を隠し、長期的にはプロジェクトの品質に影響を与える可能性があるという。

紛争の背後にある背景

問題のマージは、以前の開発サイクルである Linux 6.2 の修正に関連していました。しかし、明確な説明がなかったため、トーバルズ氏の怒りの反応を引き起こした。最終的に合併は受け入れられましたが、教訓は明らかでした。

「くだらない説明を探しましたが、次回説明を探す必要があるときは、その要求を無視するつもりです。」

開発者はここから何を学べるでしょうか?

経験の浅い開発者にとっては、コードの貢献やメッセージのマージの重要性を軽視したくなるかもしれません。ただし、Linus Torvalds のメッセージは、共同ソフトウェア開発に取り組むすべての人にとって貴重な教訓です。Git は強力なツールですが、正しく使用された場合にのみ効果を発揮します。

ソフトウェア開発の世界、特に Linux カーネルのような大規模プロジェクトでは、コードの品質と一貫性を維持するために秩序ある透明な作業慣行が不可欠です。これは、 Git などのバージョン管理ツールを使用してさまざまな開発者からの貢献を管理する場合にさらに明らかになります。

Linux カーネルの作成者および保守者である Linus Torvalds は、最近、これらの実践の 1 つである、ログの変更の「マージ」を適切に説明することの重要性について注意を喚起しました (むしろ大騒ぎしました)。

「マージ」とは何ですか?なぜ重要ですか?

この用語に馴染みのない方のために説明すると、Git の「マージ」とは、さまざまな開発ブランチからの変更を 1 つの開発ブランチに結合するプロセスを指します。このプロセスは、さまざまな開発者が行った作業を共通のコードに統合できるため、チームとして作業する場合に非常に重要です。

ただし、マージを要求/承認するだけでは十分ではありません。なぜこの合併が行われるのかを説明する明確なメッセージを添えることが不可欠です。このメッセージは、他の開発者が変更のコンテキストを理解し、クリーンでわかりやすい開発履歴を維持するのに役立ちます。

ライナス・トーバルズの批判

画像: レディット

1 年ちょっと前、Linux 6.3 カーネルの開発プロセス中に、Torvalds氏は特定の「マージ」における説明が不足していることに不満を表明しました。問題の開発者は、次のようなメッセージを含むマージ リクエストを送信しました。

「変更のほとんどは、I2C ホスト ドライバーと EEPROM ドライバーのマージされたリクエストにあり、独自の説明はそこにあります。」

Torvalds 氏にとって、この短い説明は不十分であるだけでなく、プロジェクトにマイナスの結果をもたらす可能性がある注意の欠如を示しました。

Linux Kernel Developers (LKML) メーリング リストの公開メッセージで Torvalds 氏は、 「マージについて説明できない場合は、マージを実行しないでください」という、彼が基本的であると考えている原則を繰り返し述べました。

「『すべての説明は別の場所にある』と言うことに何の意味があるのですか? それは要求の要点ではありません。私は知る必要があります。[…] あなたは私にそれをマージするように頼んでいます、そしてくそー、それはあなたが説明する必要があることを意味しますなぜ統合する必要があるのか​​。」

同氏の怒りは明らかで、十分に正当化できない合併は、同氏自身の言葉を借りれば「定義上、欠陥のあるゴミ」であると明言した。

トーバルズ氏は、なぜ合併が行われるのか説明しないことには正当な言い訳はないと主張した。同氏によると、不当な合併は開発履歴を読みにくくするだけでなく、問題や誤った決定を隠し、長期的にはプロジェクトの品質に影響を与える可能性があるという。

紛争の背後にある背景

問題のマージは、以前の開発サイクルである Linux 6.2 の修正に関連していました。しかし、明確な説明がなかったため、トーバルズ氏の怒りの反応を引き起こした。最終的に合併は受け入れられましたが、教訓は明らかでした。

「くだらない説明を探しましたが、次回説明を探す必要があるときは、その要求を無視するつもりです。」

開発者はここから何を学べるでしょうか?

経験の浅い開発者にとっては、コードの貢献やメッセージのマージの重要性を軽視したくなるかもしれません。ただし、Linus Torvalds のメッセージは、共同ソフトウェア開発に取り組むすべての人にとって貴重な教訓です。Git は強力なツールですが、正しく使用された場合にのみ効果を発揮します。

最新記事一覧