クリーンアーキテクチャ - くりーんあーきてくちゃ

玉ねぎのように何層にも重なり、内部が見えなくなったソフトウェアの設計図のイラスト
『クリーン』の名の下に重ねられた層が、実際には内部を霧隠れにする迷宮だった。
テクノロジー・科学

説明

クリーンアーキテクチャとは、「依存関係逆転」という魔法の言葉を唱えながら、レイヤーという城壁を築き自らの無責任を隠蔽する社内儀式である。美名のもとにモジュールを分割し、実装より図の美しさが重んじられる。ドメイン層は神格化され、他の層はただの従属者に過ぎない。テスト容易性を称えながら、テストコードが本体を超える肥大化を遂げる自己矛盾。最終的には、誰も抜けられない抽象化地獄を提供して開発者を迎え入れる。」

定義

  • 本質的なコードを玉ねぎのように何層にも剥がし、皮だけを美しく保つ儀式。
  • 責任分担を曖昧にするために、他人のレイヤーへ押し付ける迷惑な建築思想。
  • テスト容易性という錦の御旗を掲げ、無駄な依存関係逆転を乱発する呪術。
  • シンプルさを保つと言いながら、実際には階層の深さで混乱を招く実験。
  • ドメイン層を神格化し、他の層を使い捨て部品とみなす宗教的儀式。
  • インターフェースを壁で囲い、内部の惨状を隠すためのスクリーンプレイ。
  • 変更に強いと言いながら、新たなレイヤー設計でさらに変更を増やす自己矛盾。
  • 開発者に抽象化地獄と名付けられた無限ループを提供するパラドックス。
  • 依存関係逆転の原則を狂信し、コードレビューを宗教裁判に変える狂気。
  • 境界線を定義しすぎて、境界そのものの存在意義を見失わせる哲学的トリック。

用例

  • 「この機能、クリーンアーキテクチャに合わせると1週間はかかると思うけど、いい?」
  • 「設計書通りに層を増やしたら、動かないバグまで層になったわね。」
  • 「レイヤーゼロ? それは我々の生産性のことね。」
  • 「依存性注入したら、注入する責任も注入されるって知ってた?」
  • 「テストパッケージが本体より厚くなるのは正常現象です。」
  • 「ドメイン層に神聖性を与えるのはやめろ、ただのクラスだ。」
  • 「インフラ層が汚れる? いいじゃない、平和な汚れだ。」
  • 「境界を守るために壁を作りすぎて、通り抜けられなくなったよ。」
  • 「CIが落ちたら、クリーンアーキテクチャのせいにしよう。」
  • 「誰かテスト駆動とか言ってたけど、あれもレイヤー競争の一種だよ。」
  • 「リポジトリパターンって結局ただのフォルダだよね?」
  • 「アーキテクトはコードを書かない? そうだね、図だけ描いて逃げる職業さ。」
  • 「プレゼン資料に層の図がないと生きてる実感が湧かない。」
  • 「SOLIDって何? 美味しいの?」
  • 「抽象と実装の区別を考えすぎた結果、何も実装しなくなった。」
  • 「この仕様はまだ層をまたぐからマージ禁止ね。」
  • 「依存逆転で依存先が自分自身になってるじゃないか!」
  • 「ユースケース層の前に、またユースケース層を入れたらどうなるかな?」
  • 「境界外のコードが存在したら、ペナルティとしてドームケーキを用意します。」
  • 「忘れた頃に生える新しいレイヤー、まるでキノコだね。」

語り

  • 仕様書には『クリーン』とあるが、コードは瓦礫のように積み重なる。
  • レイヤー図を描くほど頭が痛くなり、実装する頃には既に仕様が変わっている。
  • 依存関係逆転の呪文を唱えると、テストが動かなくなる魔法がかかる。
  • ドメイン層の神殿を守るため、誰もローカル変更を恐れて近づかない。
  • 実行速度を気にするレビュー担当者を黙らせるため、層を増やす説教が始まる。
  • 開発初期は希望に満ちているが、層が深まるごとに絶望が表面化する。
  • 『変更に強い』は嘘八百で、新しい仕様ごとに新たなレイヤーを追加する苦行。
  • テストのために作ったモックが、結局本物より複雑になってしまう悲劇。
  • チームミーティングではいつも、アーキテクチャの正しさを巡る宗教戦争が繰り広げられる。
  • コードレビューは信仰告白の場と化し、誰もが自説を説教する。
  • スクラムマスターは『何層ですか?』と問い、開発者の心を砕く一言を放つ。
  • 『このレイヤーはこういうもの』と定義するたび、無数の例外ルールが生まれる。
  • バグを見つけた者は、謝罪ではなく新たな抽象階層の追加を命じられる。
  • CIパイプラインは静かに層を検証し、壊れたテストを証拠として掲げる。
  • ビルドエラーが起きると、誰かが設計書を延々と読み上げ始める儀式が始まる。
  • リファクタリングは『クリーン』の名の下に、犠牲を伴う大洪水となる。
  • ドキュメントと実装が乖離し始めると、チームの会話は方言のようになる。
  • 本番環境での例外は、層の奥底から飛び出してくる怪物だ。
  • バージョンアップのたびに、レイヤー階層が一段ずつ膨張する。
  • 保守担当者は層の迷路に迷い込み、帰還の道を永遠に探し続ける。

関連語

別名称

  • レイヤー地獄
  • 玉ねぎ設計
  • 依存インフレ
  • 抽象迷宮
  • 責任転嫁塔
  • 境界の牢獄
  • ドメイン教
  • テスト万歳
  • 設計過剰摂取
  • 図解病
  • 分割中毒
  • 再利用幻想
  • 注入カルト
  • 逆転呪縛
  • クリーン幻想
  • 依存洗脳
  • 無限モジュール
  • 純粋思考学園
  • 境界壁
  • コード敬虔学

同義語

  • 清潔設計
  • クリーン信仰
  • ソフトウェア浄化
  • 中核崇拝
  • 機能壁画
  • 設計プレゼン
  • 抽象宗教
  • 構造茶番
  • 見せかけアーキ
  • 分層儀式
  • 再構築症候群
  • 依存逆転教
  • 境界信仰
  • テスト神話
  • SOLID狂信
  • トランザクション迷信
  • オブジェクト崇拝
  • アーキ脱線
  • コントラクト概念
  • レイヤーライブ

キーワード