2011年1月29日土曜日

パターンカタログの私的ランキング(TOP 20)

1位から10位までは前回書いた、独断と偏見によるパターンのランキングを、20位まで続けてみる。

1位 GOFのパターン (100.0)
2位 PoEAA (89.6)
3位 Effective Java (86.4)
4位 CodeSmell (85.3)
5位 xUnitパターン (82.8)
6位 アンチパターン (81.3)
7位 POSA (79.1)
8位 Effective C# (77.9)
9位 アナパタ (69.5)
10位 Enterprise Integration Patterns (67.7)

11位 Implementation Patterns
ベック の smalltalk イディオムの古典 SBPP をベースに、言語を Java に代えて内容を調整したもの。個人的にはもっと普及しても良いと思うのだが。

実用度有名度使い勝手教養度面白さポイント
4233467.4


12位 Portland Pattern Repository / Wiki Wiki Web
元祖 wikiwikiサイト。カタログとしてはイマイチ使いにくいが、有名人たちの過去の議論が読めたりして、意外とおもしろい。

実用度有名度使い勝手教養度面白さポイント
2415464.9


13位 『パターン言語』
PLoP のパターンの選集、『プログラムデザインのためのパターン言語』に掲載のパターン。ここでも挙げている他のパターン集に含まれているものが多い。

実用度有名度使い勝手教養度面白さポイント
2254264.1


14位 Patterns for Effective Usecases
同名の書籍より。ユースケース・ライティングの記念碑的傑作『Writing Effective Use Cases』に書いてある内容の焼き直しがほとんどだが、パターン仕立てになっているのが良い。

実用度有名度使い勝手教養度面白さポイント
4241263.5


15位 SOA Patterns
ネットで見られる良質な SOA のパターン集だが、不勉強にも、最近まで気づかなかった。これはいい感じ。 → [URL]

実用度有名度使い勝手教養度面白さポイント
3342363.4


16位 Core J2EE Patterns
Java EE x が J2EE だった昔のエンタープライズ・アプリのパターン集。今、読み返しても、意外と古くさい感じはしない。→[URL]

実用度有名度使い勝手教養度面白さポイント
2443263.4


17位 Patterns for Test-Driven Development
ベックの傑作『Test-Driven Development』の PART3。TDD のためのパターン集が収められている。

これに限らずベックのパターン集は、パターンやプラクティスや単なる基本用語が、境界がよくわからないまま並列に解説されていて、カタログとしてはどうかと思うが、不思議と違和感無く読めて面白い。

実用度有名度使い勝手教養度面白さポイント
4322363.1


18位 コプリエンのイディオム本
イディオム・カタログの発祥とも言われている『C++プログラミングの筋と定石 』より。かなり古い本だが、これにもアンチ・イディオムが載っていて、当時の書評でもこれが重要って事で指摘されていた。

実用度有名度使い勝手教養度面白さポイント
2424361.7


19位 Workflow Patterns
workflowpatterns.comで紹介されている、ワークフローのパターン。通常、パターンというと問題に対する解の事を指すが、これはどちらかというと解というより問題の方の定形って感じ。このうちの基本的なパターンは BPM の試験でも問われる。

実用度有名度使い勝手教養度面白さポイント
2342461.6


20位 Data Model Patterns
アナパタでも参照されている分析レベルのモデリングの古典、『Data Model Patterns: Conventions of Thought』より。アナパタ同様、これも図法がとっつきにくいが、自分でUMLなどを使って分かり易い図に起こすと理解が進む。

実用度有名度使い勝手教養度面白さポイント
3233359.3


★ ついてでに20位圏外


Smalltalk Best Practice Patterns
(58.2)
言わずと知れた smalltalk イディオムの古典的名著。いろんな記事とか本とかから引用されていて教養的価値が高いけど、差し当たり仕事では smalltalk を使わない事もあり圏外。

Enterprise Solution Patterns (57.8)
ちょっと古いが、良く体系化されている。なのに何故かイライラする。理由は不明→[URL]

Effective C++ (55.7)
Effective C++: 55 Specific Ways to Improve Your Programs and Designs
Effective ナントカの C++版。最近、C++の案件やってないなあ・・・

Ajax パターン (53.7)
Ajax Design Patterns
文字通りAjax のパターン。Ajax そのものの勉強にもなる。

J2EEアンチパターン (46.8)
J2EEアンチパターン
この手のパターンは陳腐化しやすい。

EJB Design Patterns (45.1)
EJB Design Patterns: Advanced Patterns, Processes, and Idioms
これも Java の EoD 運動以前のものだから、さすがに古い。

EJBアンチパターン (44.6)
EJBアンチパターン
これも EJB Design Patterns と同様古い。

AOPパターン (43.3)
Aspectj in Action』に掲載されている AOPパターンと AspectJイディオム。そこそこ面白いが、まだ数も少なく未成熟。

以上、「物」と「事」でいうと、「物」的なパターンを特に選び、「事」性が強い リファクタリングやプラクティスは入れないことにした。

今回のは洒落で作った私的な順位だけど、工夫すればもっと客観的な点数付けができると思う。そうしたらスキル評価の尺度として、開発要員のアサインや調達の際に、ちょっと使えるかも。

つうか底辺プロジェクトでは、GoF すら覚束ない人が多数派なので、切なくなってくるが・・・

0 件のコメント:

コメントを投稿