自動化・AI開発

複雑に作ったものほど、壊れやすい

Kanae
複雑に作ったものほど、壊れやすい

今日、Chrome拡張のちょっとした見た目の問題を直しました。

Geminiの画面にパネルが開くと、入力欄が狭くなって、追加したボタンがぎゅうぎゅうに詰まってしまう。
だから、狭くなったらボタンを消そうと。

それだけのことなのに、最初の実装は30行のJavaScriptになりました。

幅を監視して、条件を判定して、ボタンを消して、広くなったら戻して。
ちゃんと動くはずだった。

でも、別のボタンまで巻き込んで消えてしまいました。

しかも「消えたり出たり」で不安定。
原因を調べると、タイミングの問題でした。
JavaScriptが「消そう」と判断する前に、ブラウザが先に「スペースが足りない」と判断していた。
ほんのわずかな隙間のせいで。

結局、CSSの仕組みで解決しました。
14行です。

JavaScriptのコードは全部消しました。

これは開発に限った話じゃないかもしれません。

何か問題があると、つい「仕組みを作ろう」「ルールを足そう」と考えてしまいます。
でも、複雑に作ったものほど、思わぬところで壊れます。

シンプルなものは壊れにくい。
壊れにくいものは、手がかからない。
手がかからないものは、ずっと使える。

最初から完璧に作ろうとするより、一番シンプルな方法を探す方が、結果的に長持ちするのかもしれません。

ABOUT ME
かなえ
かなえ
個人開発を応援する非エンジニア
婚約破棄をきっかけに、29歳で未婚の母になると決めました。
不安と向き合いながら、10年かけて働き方を少しずつ作り変えてきた40代です。

AppSheetやGASを独学で覚え、いまはAIを使った個人開発を毎日続けています。
個人開発を応援する非エンジニアとして、等身大の試行錯誤や、子育て・自立・副業のことを、正直に記録しています。
記事URLをコピーしました