2002年12月3日  ネーミングセンス?


システム開発をしているいたるところでネーミングが必要となる1システムの中でもデーターベースの中でも1本のプログラムの中でもネーミングの連続だ。ネーミング1つでその人の技量や習熟度がわかってしまう場合がある。基本的にはローマ字読みのアルファベットなのだが規則性、普遍性などを十分考慮したネーミングというのは非情にわかりやすくまた誤読の危険性も少なくなる。
ネーミングの悪い例としては 商品の綴りが あるテーブルでは Syohinだったり 別のテーブルでは Shohinだったり統一性無い場合があったりする。しかもこれが同じ人間によってネーミングされたものなのだ。消費税も商品と綴りが似ていてsyohiだったりする。下手に省略するよりもフルネームでローマ字綴りの方がよほどましだ。フルネームであればネーミングセンスの問題もある程度軽減されるが、なぜかみな例外なく省略した名前付けたがる。
筆者はプログラミングにおけるネーミングは重要なものの1つと認識している。規則性、普遍性を考慮したネーミングを心がけるだけでバグの発生を何%かは未然に防げるものだ。
プログラミングにおけるネーミングのひとつの解決案として考え出されたのがハンガリアン記法である。これが全ての言語に摘要できるかという疑問もあるがネーミング問題に対するアプローチとしては間違っていないのでプログラマーなら一度は勉強しておくべきである。

余談・・・日本人の哀しい性なのか、ローマ字綴りを多用するがいくらなんでもこれはちょっと・・・・というのをよく目にする。

・EarType ・・・・・耳タイプ?  yeartype だろ!
・meka_code ・・・・ Makerだろ!
・Ivent ・・・・・ Eventですって。

プログラミングがいくら優秀でもこういったネーミングをすると教養の無さが浮き彫りにされ、人格そのもが否定されてしまうもので注意して欲しい。

SEが直面するネーミングの問題はコンピュータの知識とは別次元に存在する。一般的社会常識や教養、業務上の専門用語の知識といった部分に負う所が多い。ネーミングにかぎらず名前認識全般においてSEはプログラマー以上に能力を要求される。ユーザーとの会話の中では多くの名称が飛び交うが、その名称が双方とも同じものを指しているとは限らない。そのような場合、会話の中で「なんか違うんじゃないか?」と気が付かなくてはSEとして失格である。しかし、意外と気が付かないSEが多く仕様書にまで反映されてしまうのだ。また、業務運用上名前が付いてないものもシステム構築上名前を付けなくてはならない場合があるがその場合のネーミングについては一般的社会常識や教養、業務上の専門用語の知識等が必要となる。具体的な例は上げられないが、経験を積んだSEであれば誰でも思い当たる節があるだろう。全く思い付かない、見当も付かないというSEは経験不足か能力的に問題のあるSEと思ってよい。

以前に言った「名前に無頓着なSEにロクな奴はいない」というのはこういった所にある。