サポンテ 勉強ノート

サポンテの勉強ノート・読書メモなどを晒します。

SQL アンチパターンの twada さんのプレゼンを見てきました

SQLアンチパターン

SQLアンチパターン

アンチパターンは名前が大事

昨年の記事で作成した、書籍 「SQL アンチパターン」の勉強ノート に、書籍とは異なる名称を記しました。それは、自分にとってその方が覚えやすかったり、なじみがあったりという理由でした。

書籍に記されているタイトル(各アンチパターンの名前)は英語をそのままカタカナにしたようなものが多く、それでいて続けてちゃんと日本語に翻訳した素敵な名称が括弧書きされていて「まさか訳したタイトルに自信がないのかな。とても適切だと思うのだけれど」とか思っていました。

その後、この疑問は自己解決をしました。エンジニアリングの世界では、日本語に訳したものよりも「そのまま」の方が明確に伝わることがあります。おそらく訳者のかたは、訳すことで伝わり難くなることを恐れたのではないか、と考えたのです。

ところが先日、twada さんのプレゼンを直接見る機会があり、この解釈も誤りであったことが判りました。

必殺技名

twada さんの思いは概ね「日常では使われない言葉にすることで、会話の中で目立つものにしたかった、何か『必殺技名』のようにしたかった」とのことでした。

このことはよく理解できます。たとえば日本において「マウス」という言葉はおおよそ「コンピューターに接続して使うアレ」か「動物実験用のネズミ」という意味で使われます。それ以外の会話の中では「ネズミ」を使うでしょう。後者が「日常に埋もれる名称」であり、前者が「単なるそのものではなく特別な場面で意味を持つ名詞」です。そしてアンチパターンにつけられる名前は、後者であるべきなのです。

この「必殺技名」という考えは自分にはなかったため、なるほどと思いました。

検証

ということで「必殺技名」度合いを検証してみましょう。

twada さんを交えた先日の勉強会では、アンチパターン「ナイーブツリー」が話題に上がっていました。まずこちらのアンチパターンを検証してみたいと思います。

カタカナを用いた場合

ではカタカナを用いた場合を見てみましょう。

f:id:saponte:20180129210426p:plain

妙にしっくり来ます。確かに必殺技っぽいかも。

邦訳タイトル

では次に邦訳タイトルである「素朴な木」を見てみましょう。

f:id:saponte:20180129210408p:plain

「貧弱ゥ」

やはり確かに弱いですね。少なくとも必殺技ぽくはないです。

物語のつづき

この次のページでナイーブツリーは破れ、マネージャーの悲痛の叫びに呼応するようにデスマーチの足音が聞こえてきます。アンチパターンを使った結果を暗示しているようです。

f:id:saponte:20180129210528p:plain

しかし twada さんによると、最初にこの本(SQL アンチパターンの方です。ジ○ジ○の方ではありません)が登場した当時とは事情が変わってきており、CTE サポートが各 RDBMS で充実しつつあることなどから、ナイーブツリーは RDBMS でツリー構造のデータを実現するのにアンチパターンではなくなりつつあるとのことでした。

このシリーズ

ジ○ジ○の奇妙なアンチパターン...。つづくとかつづかないとか 1


  1. 頭の中にはすでにインデックス・ショットガンが出来上がっている。