enumつかってくださいよ~

タイトルは懐かしflashの「開国してくださいよ~」の感じで発声してくださいますようご理解とご協力を強制いたします

 

それはさておき、VB6プログラマなおいらは今日も太古の昔のコードと格闘しておる。

本日はこんなコードに出会った。

Dim Hoge As Integer

 (略)

If Hoge = 0 Then

 (略)

Else If Hoge >= 1 Then

 (略)

Else

 (略)

End If

 

ぱっと見たら普通のね。Select Case使えよ、とかいうのはあるけど。

んだども、このHogeにはシステム上0,1,2しか入らないと決められている。にもかかわらず最後のElseがあるのが気になって仕方がない。Hogeが負の値になることはないはずなんだが、どこかでそんな値をねじ込んでるのかな。どこだろ?ないなぁ?とすると、ここ通らないよな。誰が動作確認したんだ?と思いつつコード読むのがつらい。

せめてenum使ってくれてりゃ

 

Enum 階級

 甲

 乙

 丙

End Enum

Dim Hoge As 階級

 (略)

If Hoge = 階級.甲 Then

 (略)

Else If Hoge = 階級.乙 Or Hoge = 階級.丙 Then

 (略)

Else

 'ここ来ないよな。うんうん。

 (略)

End If

 

最後のElseには来ないよなーうんうん。わかる。となる。(※VB6のEnumには定数を強引にぶち込めるので絶対安心ではない)

 

enumありがたい。なぜ使わぬ。まあDBとのやりとりがめんどくさいっちゃーめんどくさいか。DBはenum知らないもんね。