[ DB設計 ] 食欲がなくなるテーブル名をつけないでください

Pocket

システムエンジニアやプログラマは、階層構造の世界です。どんなアホでもシステムエンジニアは偉くて、プログラマは奴隷です。ここら辺についても、言いたいことは、多々ありますが、ここでは、そんな堅い話はしません。

男の子がみんな大好きなアレの話になります。

スポンサーリンク

食欲をそぎ落とすテーブル名

データベース設計をしていて、テーブル名をどうしようか悩まれることもあると思います。英語でつける人もいれば、英語が苦手なのでローマ字とする人もいます。

例えば、バスの運行予定を管理するテーブルがあるものとします。この時、あなたであれば、どのようなテーブル名としますでしょうか?

Schedule テーブルでしょうか?バスとタクシーの運行予定をそれぞれ管理するテーブルが別々にあるのであれば、Bus_Schedule テーブルにするのかもしれません。

テーブル名をローマ字で作ることを控える人もあれば理由もあるものとは思いますが、ある人はローマ字で次のようなテーブル名としました。そのテール名は、

BUS_UNKO_YOTEI

とのことです。

バスうんこ予定?そう、うんこです。バスのうんこの予定を管理するのでしょうか?食欲がなくなります。せめて、

BUS_UNKOU_YOTEI

としてもらえないものでしょうか?

カレーライスはいつでもモリモリ食べますがねwwwww。

間違いに合わせる日本人のアホさ加減

そもそも、日本語できることが前提で人を集めています。最近のグローバル化が云々と言ったものは、まったく関係のないプロジェクトです。何で英語チックな読みにあわせて、「運行」を「うんこ」とする必要があるのでしょうか?

名前的には、「運行」なんてよくありそうですので、あなたの会社のシステムも実は、うんこまみれなのかもしれません。あなたが、プログラマやシステムエンジニアならば、「うんこ」探しもいいかもしれません。

ところで、

「近藤さん」は固有名詞です。読みも日本語では「こんどう」です。「こんど」ではありません。「kondou」で何も悪くはありません。「kondo」でもなければ、「kondoh」とか外国人の発音に合わせる必要は全くないのです。「kondoh」と呼ぶ外国人が間違いなのです。日本語では「kondou」が正しいのです。

テーブル名の本質的な話

これまでは、表面上の話なのであまり、システムエンジニアのスキルには直接的には関係ないものかと思います。簡単そうでなかなかできないのが適切なテーブル名、クラス名、メソッド名をつけることだったりします。

正直、設計を行うとされているシステムエンジニアは肩書だけのアホがワンサカいます。困ったことに自分がアホであり、大して必要ない人間であると気付いておりません。新陳代謝の少ないシステム子会社などであれば、気付きようがないのです。ある意味、素晴らしき社員教育です。

話を元に戻しまして、

テーブル名、クラス名、メソッド名などが本当に処理内容やデータの内容を表しているかを気にしている人は本当に少ないと感じます。

未だに、運用中のシステムならいざ知らず、開発初期の段階でもテーブル名を変えたりするのにハンコラリーが必要な会社も沢山あります。

このハンコラリーがなくなると、システムエンジニアやマネージャーと呼ばれる肩書の人の仕事がなくなるから必要なんです。折角、忙しそうにしているのに暇になっちゃうと別の面倒なびっくり管理など考え出すので、あまり刺激すると逆効果なこともあります。

ハンコラリーに嫌気がさしてそのままにしておくと判断すことは不思議なことではありません。むしろ、当然と思いますが、後々のメンテナンスは面倒になります。人が入れ替わると、なお大変です。

しかし、このようなことから変更することを躊躇うと言うよりは、名前と実体が一致しているかを気にしている人は圧倒的に少数派だと思います。極端な例だと、「check という名前のメソッドの中の正体は、実はファイルの作成をしているのでした」なんてことも、ありました。

そもそも、軽はずみに「チェック」とかすぐに使う人はおおよそアホであることが多いです。話したり、資料読んだりすると「それって、チェックじゃないよね」ってことが往々にしてあります。

本日のまとめ

「ツイッター」も「チェック」も、アホ発見器!!!

スポンサーリンク

Pocket

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>