はじめに
アンチパターンを調べたときにたまたまWikipediaを読みました。思いの外面白かったので紹介します。知らないアンチパターンばかりだったのと翻訳後の日本語が面白いので是非読んでみてください。
アンチパターンとは
アンチパターン(Anti-pattern)とは、ソフトウェア開発やシステム設計の領域において、一般的には悪い結果をもたらすと知られている設計、実装、行動、または管理の手法を指します。アンチパターンは、初めは良い解決策に見えることが多いですが、時間が経つにつれて問題を引き起こすことが多い。
アンチパターンの特徴
・ 一見、効果的に見える
一見良いアイデアや解決策のように見えるが、詳細に検討したり、実際に適用してみると問題が発生する。
・ 長期的にみて悪影響が発生
短期的にはうまく機能するかもしれないが、長期的にはメンテナンス性の低下やパフォーマンス問題などの悪影響が現れる。
・ 経験不足や知識不足から発生
経験の浅い開発者や設計者が陥りやすく、適切な設計原則やベストプラクティスを知らないために発生することが多い。
個人的面白いアンチパターン名ランキング
5位 閻魔の組織管理
異議を許さない、独裁的な組織管理方法
4位 貧血ドメインモデル (Anemic domain model)
ビジネスロジックが欠けたドメインモデル。オブジェクトは属性と振る舞いを持たなければならないので、オブジェクト指向プログラミングではない
3位 神オブジェクト (God object)
設計の一部分(クラス)に、過剰に機能を集中させること
2位 暗室栽培 (mushroom management)
部下に情報を伝えなかったり、誤った情報を伝える(暗所で栽培する)
1位 システムのおんぼろ煙突化 (stovepipe system)
複雑に相互関連したコンポーネントからなる、メンテナンスが困難なシステム
まとめ
言葉にしたくなるものばかりでセンスを見せつけられました。先人が見つけたアンチパターンを再現しないように意識したいです。何故かゼルダの伝説のボスを思い出しました。
最後に
私の働いている会社で経験の有無を問わず採用を行っています。
興味のある方は是非カジュアル面談から応募してみてください!