ブックマーク / note.com/magnoliak (2)

  • プログラミングを難しくする要素って何だろう|Magnoliak

    プログラミングは難しい…たぶん。 オブジェクト指向プログラミング、関数型プログラミング、アジャイル開発手法、各種設計原則や、テスティングフレームワークを使ったTDD等々…色々なプログラミングを支える要素技術はここ10年で爆発的に進化して、「とりあえず動くものを作る」という段階から、「先を見据えて、ずっと維持できるものを作る」という段階に変わってきたように思える。 きっとそれはシステムが動く環境が変化し、以前のような「動いているものを触るな!」という思想ではとても維持できなくなって、「なにもしていないからこわれました」という時代に変わってきたからだと思っている。 とはいえ、じゃあオブジェクト指向プログラミング言語を覚えて、各種設計原則を頭に畳み込めば魔法のように解決するか?と聞かれればやっぱりそんなことは起きない。 なぜか? 定量的な情報は探しても見つからなかったけど、感覚的にコードは書いて

    プログラミングを難しくする要素って何だろう|Magnoliak
  • ドメイン知識は、容易に失われる|Magnoliak

    例えば区分コードみたいな値が有ったとして、1の時は○○という処理、2,3,4の時は△△という処理を実装する、という状況のときに、条件分岐が「区分コードが1か、それ以外」で分岐させると、2,3,4と限定しておきたかった、というドメイン知識が失われたりしませんか?みたいなことが有ったり無かったり — magnoliak🍧 (@magnolia_k_) July 3, 2020 以前、暗黙知のスライド書いたときにも取り上げたけど、「年齢計算ニ関スル法律」には2月29日生まれのことは何も書かれていないけど、「前日の夜12時に一つ年を取る」というビジネスルールなので、”結果的に”2月29日生まれに例外ルール無しに対応できているんだけど、それは結果論なんだよ — magnoliak🍧 (@magnolia_k_) July 3, 2020 さんざん検討して、シンプルなルールで、複雑なパターンや例外

    ドメイン知識は、容易に失われる|Magnoliak
  • 1