理解していないコードは絶対にコミットしない

never-submit-code-you-dont-understand
目次

この記事は Dries Buytaert 氏の公式ブログ「dri.es」の翻訳記事です。Driesブログの記事一覧よりすべての翻訳記事をご覧いただけます。

Drupal黎明期の頃、至るところでひとつの標語を目にしていました。「Don't hack core(コアをハックするな)」です。

イシューキュー、カンファレンストーク、サポートチャンネル、ステッカー、Tシャツにまで印刷されていました。短くて覚えやすく、しかも実際の問題を解決するものでした。あまりにも多くの人が、Drupal Coreを正しく拡張する代わりに直接改変していたのです。

時が経つにつれ、この標語は効果を発揮しました。エコシステムが成熟していったのです。ソフトウェア自体だけでなく、その周りの習慣や期待値も変わっていきました。今日では「Don't hack core」という言葉を耳にすることはほとんどありません。

AIがコードの書き方を変えつつある今、新しい標語が必要かもしれません。

オープンソースでは、すべてのコードはマージされる前に理解・レビューされなければなりません。その責任はコントリビューターとメンテナーの双方にあります。AIはコードの書き方を変えましたが、その責任までは変えません。むしろ、その責任を忘れやすくなっているとも言えます。

理解していないコードは、誰か別の人の問題になります。オープンソースにおいて、その誰かとは多くの場合、あなたのパッチをレビューするメンテナーです。

質の低いコードをメンテナーに押し付けることは、全員のレビューを遅くします。それだけでなく、コードから学び、開発者として成長するチャンスまで失うことになります。

どんなツールを使うかは問いません。ただ、コードをコミットするなら、それが何をするのか、なぜ動くのか、他のコードとどう関わるのかを説明できるようにしておくべきです。

誰にでも出発点はあります。今日のトップコントリビューターたちも、かつては不完全なパッチをコミットしていました。AIツールを使う使わないにかかわらず、あなたはここへようこそ。完璧さは求めません。でも、自分のコードを理解することは必要です。自分のコードに責任を持ちましょう。

そろそろ新しいステッカーとTシャツを作る時期かもしれません。

理解していないコードは絶対にコミットしない。

草稿を確認してくれたNatalie Cainaru氏、Jeremy Andrews氏、Gábor Hojtsy氏に感謝します。

— Dries Buytaert

PS: LinkedInでのディスカッションもぜひご覧ください。

この記事は「Never submit code you don't understand」(投稿日:2026-03-16)の翻訳記事です。

カテゴリ