« Mac Da! Marcus も! | トップページ | Safari De Java Console »

2005年12月 6日 (火)

命名規則は大切だよ!

xxx_flag なんて名称にしたらOracleならNUMBER(1) not null としてチェック制約で0,1のチェックを行わせデフォルト値を設定することが多い。そうすれば0,1以外の値にはできないわけです。はい。

ですが、世の中、広いもので、xxx_flagと名付けておきながら、9 をセットしている。意味わからん。
さらに、怖いのはxxx_flagという名称なのにintegerで定義されていてデータベース側もプログラムもザル状態。

−100をセットしてもダイジョブみたい。そんなフラグ! ありえん!

0と1の意味は想像できるが、9 とか −100 なんてどういう意味? 
だいたい、フラグじゃねえだろ。こんな値が設定されるカラムなんだから!

命名規則は守ろうよ。 というより命名規則が存在しないのね。
しかし、命名規則が無くたって、これはひどい。。。。
5年前に見た________のシステムがこれに近かったが、久々に見たよ、こんなの。。、目眩が。。。

#データベースの使い方以前の問題ですな。これは。意識改革から始めなければ。。。。

|

トラックバック


この記事へのトラックバック一覧です: 命名規則は大切だよ!:

コメント

命名規則はとても大事 そのと~り
でもね Flag が 0/1 ってどういう根拠?
3つ以上の値を持ったっていいじゃない。
国旗だって、軍艦の通信に使われた旗だって、レースの旗だってたくさんの種類がある。
1桁のFlagに9を使うのは古いCOBOLの頃の習慣(未入力などを表すことが多いよ)。(-100は知らん)
2値なら論理型を方がお勧め(理由は自分で考えてね)
項目名に良く使われる フラグ、区分、コード、何とか番号
これを定義して使い分けるのは実際にはかなり難しいよ
言いたい気持ちはわかるがね。。。。。。。。。

投稿: ボブ君のパパ | 2007年6月18日 (月) 14時24分

旗の種類になるとは私の想像の範囲外に行ってしまった感じです。
旗は上がっているか下がっている状態しかないと思うのですが。どんな種類の旗であっても。いかがでしょうか?

ちなみに、上記のエントリで話題にしている現場は、開発言語はperlやjava、OSはLinuxという環境でしたので、COBOLの頃の習慣をもつエンジニアはいませんでした。(助っ人で参加した、私は、ぎりぎり、汎用機を経験した世代ですが。。)

私がソフトウェア業界の駆け出しのころ、
(ちなみに、私はCOBOLで開発した経験はほとんどありません。そのころはPL/Iでしたねぇ。)

>1桁のFlagに9を使うのは古いCOBOLの頃の習慣(未入力などを表すことが多いよ)

のような場合には、hogeフラグではなくて、hogeステータスコードとか、単にhogeステータスというような名称にするよう指導された記憶があります。


http://d.hatena.ne.jp/keyword/%A5%D5%A5%E9%A5%B0
http://software.nikkeibp.co.jp/software/yougo/yougo4.html#yougo30

投稿: discus | 2007年6月18日 (月) 16時01分

うけましたw
あるある。

投稿: 通りすがり | 2010年4月 9日 (金) 12時57分

コメントを書く