プログラミング
悪いコードはクズ(Kudzu)のようなもの
Bad Code Is Kudzu (vickiboykis.com)
要約
クズ(Kudzu)は、一度導入されると急速に成長し、すべてを覆い尽くす植物です。ソフトウェア開発においても、一度追加された機能は削除が非常に困難になり、不要なコードが蓄積していく傾向があります。開発者は、コードの追加だけでなく、削除する計画も立てる必要があり、複雑さを継続的に排除しないと、コードベースが「クズ」に覆われてしまう危険性があると論じています。
全文翻訳
悪いコードはクズ(Kudzu)のようなもの
栽培、Henri Martin
クズは、土壌浸食との戦いを目的として、東アジアからアメリカ合衆国東部に導入された植物です。
しかし、一度導入されたクズは急速に成長し、歩道、家屋、基礎、さらには木々さえも覆い尽くす可能性があります。
クズを枯らす唯一の方法は、クズが生えている近くに住むすべての人々が共同で実施する集中戦略として、それを積極的に剪定することです。
私が何を言いたいのか、もうお分かりでしょう。一度コードベースに追加されたアプリの機能は、削除が非常に困難になることがあります。
単純な機能でさえ非常にしぶとくなるのは、コードを削除するだけでなく、さらに悪いことに、人々があなたのコードの上にコードを書き始めるからです。そして気づけば、誰も望んでいない実装された機能に2年も費やしていることになります。
コードの削除は困難です。特に、感謝されることのないタスクであり、通常は昇進の対象にならないため、私たちは何十万行ものキラキラ絵文字の魔法の杖AI機能を出荷することになりますが、コードの削除は静かです。
しかし、この新しい時代においては、私たちはさらに激しくコードを削除しなければなりません。なぜなら、私たちが絶えず複雑さを排除しなければ、コードベースを覆い尽くす生成されたクズの汚泥に溺れてしまうからです。
物事を簡単に追加できる時代において、追加した機能を削除するための計画を残しておきましょう。特に、以前よりもはるかに簡単になっているのですから。
例えば、5月に私はブログにハッシュタグのバブルを追加する機能を追加しました。私はミレニアル世代であり、ソーシャルハッシュタグは私の愛の言語です。私はそれらを常に使うだろうと思っていました。私のサイト訪問者も、私の賢明な文章を美しくナビゲートするためにそれらを常に使うだろうと思っていました。私はエレガントな機械学習技術の組み合わせを使用しました。
数ヶ月間、ユーザーが実際に本番環境でそれらを使用するかどうかを確認するために放置しました。そして、その答えは断固として「いいえ」でした。
私のPlausibleアナリティクスでは、過去3ヶ月間で最も訪問されたページの上位30位に入っていませんでした。
数人がそれから何かを得た可能性はありますが、特にそれらを元に戻すのが非常に簡単であるため、維持する価値はありません。(このデータは5月1日以降のものです。)
したがって、クズを剪定する時が来ました。作成が非常に簡単だったのと同じ方法で。
この機能のコミット履歴は以下の通りです。
- 77e2c5a — Changelog entry
- 85000e2 — Move search bar back to the header
- 91b6fde — Remove tag sidebar and tag bubbles 💆♀️
#engineering culture #ai #software craft