タグ

Legacy-Systemに関するmasa8aurumのブックマーク (5)

  • モッククラスを使うべきか否か - 日々常々

    元ネタ: モッククラス、下から見るか?横から見るか? モッククラスを使うべきか否か、というネタを拾ったので書いてみます。これまでにモックについて殆ど書いてないことに気づいて驚きつつ。 Short Answer 「モックに何をさせたいの?」 質問に質問で返すなという感じですが、モックに何をさせたいか答えてみれば、モックを使うべきか否かはだいたい決まるよなーと思うのです。 モックは道具で、使うことで何かを改善するものです。 「このことをテストしたいから、モックをこう使う。」という文脈なく使用すると、無用な複雑性を作り込むことになります。 モックの使用は負債なので、十二分に利益を見込める場合にのみ使用するものだと思っています。 これはモックに限った話ではなく、何かを便利にするために道具を追加する際は必ず付いて回るトレードオフです。 Short Answer 露払い 使うべきか否か どちらでも差が

    モッククラスを使うべきか否か - 日々常々
    masa8aurum
    masa8aurum 2024/03/19
    ・モックを使う理由があるときだけ使う
  • たった2つのステップを意識するだけで書けない単体テストがほぼなくなる - Qiita

    はじめに この記事は レガシーコード改善ガイド: 保守開発のためのリファクタリング を参考に手を動かしてみて、ある程度自分の中で体系的にまとまった知識のアウトプットです。 この記事で扱う内容 この記事で扱うのは主にレガシーコードで単体テストを書く際のハードルになりがちな 依存関係の排除 に関する手法を紹介します。 この記事を読んだ後に、 『この観点を持っておけば単体テストをスムーズに書いていけそう!』 『今までモック使ってたけど意外とモック使わなくても書けるね!』 となったらいいな、と思います。 ちなみに、今まであんまりテスト書いたことないよーて人は以下の記事など参考にして一度やってみてください。 前提の話: この記事の旨は「テスト書きにくいプロダクトコードも依存関係を排除すれば楽にテスト書けるよ」なので、それ設計的にアウトでは?リファクタリング耐性低くない?みたいな話は度外視してます。

    たった2つのステップを意識するだけで書けない単体テストがほぼなくなる - Qiita
    masa8aurum
    masa8aurum 2024/03/19
    ・主にレガシーコードで単体テストを書く際のハードルになりがちな「依存関係の排除」について
  • PHPバージョンアップけもの道

    at "PHPバージョンアップ kickoff" 2021/07/15 https://breaktimes.connpass.com/event/218221/

    PHPバージョンアップけもの道
    masa8aurum
    masa8aurum 2023/03/27
    レガシーシステム改善の一種、古いランタイムのバージョンアップ(上げると動かなくなる)。現場のエッセンスがたくさん
  • https://qiita.com/dairappa/items/5e954b27b81c646435f3

    伏線回収です。 批判されてるのは書き方もそうだけど、一部「ダサい」「時代遅れ」のみで非難しているようなルールがあるからでしょ。なんで駄目なのかを考えないで伝えたら文句言われるのは当たり前。私も総論は賛成だし皆もそう思ってるだからこそ200LGTM行ってるわけで https://t.co/dCw5Q9ffLY — dairappa🧲 (@dairappa) February 21, 2021 TL;DR 当該記事は総論賛成だけれど、「古い」「ダサい」で物事は変えられない 最近の環境の変化、コードを書いた人が持っている暗黙の前提なども考えないといけない 単純にコードを変えるだけでなく、それに合わせて環境やプロセスを整える必要がある。そこはみんなそれぞれ頑張れ。 まずは分類 9個の「古い書き方」が挙げられていますが、実はいくつかに分類できるかと思います。私が分けるなら以下のような感じです(いく

    https://qiita.com/dairappa/items/5e954b27b81c646435f3
  • 「無人化システム」を駆逐する組織マネジメントとエンジニアリング

    弊社では2019年3月ごろから「無人化システム」の駆逐を進めています。記事ではこの取り組みを、組織マネジメントとエンジニアリングの側面から紹介します。 恐怖の無人化システム 「無人化システム」は社内の独自用語なので、まずは言葉の意味から説明します。 無人化とはなにか 無人化の前に属人化について触れておきましょう。weblio辞書から属人化について引用します[1]。 ある業務を特定の人が担当し、その人にしかやり方が分からない状態になることを意味する表現。 無人化は属人化の進化系です。無人化とは「属人化していた業務の担当者がいなくなってしまい、誰にもやり方が分からない状態になること」と定義できます。誰がどう見てもダメな状態ですね。 無人化システムとはなにか システム運用が属人化し、かつその運用者が退職するとシステムが無人化します。我々の会社ではこのようなシステムを『無人化システム』と呼んでい

    「無人化システム」を駆逐する組織マネジメントとエンジニアリング
    masa8aurum
    masa8aurum 2021/01/21
    「属人化していた業務の担当者がいなくなってしまい、誰にもやり方が分からない状態になること」を無人化と呼んでいる / >システムを維持するかどうかの決断はマネージャーや事業責任者には行わせません。
  • 1