Cold-blooded softwareという記事を読んだ

adwd
·
  • ソフトウェアを温血動物、冷血動物の2つに分類できるという話

  • サービスの主要なコンポーネントのような常に変更が入るものが温血

  • たまにしかいじらないものが冷血

  • 温血なソフトウェアを作るには開発効率が良かったり機能が豊富だったりするFWやライブラリが合っている

  • 冷血なソフトウェアは求める機能は持っているが安定していて破壊的変更が少ない方が良い

  • いままでを振り返ると冷血に分類されるものが確かにあったなと思うし、それを温血な技術で作っていたなと思う

  • 管理画面とかは冷血でいいはず

    • 新技術を試す場としていた。それも一理あるとは思うが

  • Web技術を扱うものとして新技術をフォローしていると温血な物を作りがち

  • 数年放置していたけどいざというときに変更・ビルド・テスト・デプロイも問題ないという冷血なものを作るとするとどういうスタックになるだろうと考えた

  • おそらくJavaScriptエコシステムではかなり選択肢が絞られる気がする

    • Next.jsとかは全く向かなそう

    • Reactだけならいけそう、でもビルド回りとなるとVite, Webpackその他は数年経つと壊れそう

  • Goの標準ライブラリを活用したりJavaのSpring系とか?

  • 他の言語とかは知らないけどおそらくその言語でデファクトになっているFWだとそれほど大きな破壊的変更が少なそう

  • 冷血なソフトウェアがあるということを意識できたしそれを上手に作りたいなと思った