VBAで定数の宣言にデータ型を指定するAsほにゃららを書きますか?
- KotorinChunChun
- 6556
- 14
- 0
- 0
Twitterアンケート
VBAで定数を宣言するときには Const を使いますが、型指定を書く人と書かない人がいるようです。 皆さんはどっち派ですか?
2020-02-12 19:07:43皆の回答
型宣言をしない派の人たち
こんな感じで書く人
Const MAX_NUMBER = 100
Const PI = 3.14
Const APP_NAME = "●●ツール"
実はと言うと、私は「書かない派」です。 理由は変数と違って予期せぬ型のデータが入る恐れがないから。VBA最大難問の一つ、暗黙的な変換を恐れる必要がない。 そして定数はVariantにはならないので、速度やメモリにも(たぶん)影響しない。 というわけで、書く派の方は意見プリーズ
2020-02-12 19:12:39そして、 なにより「めんどくさい」のだが、 それは言わない約束 ぶっちゃけ慣れた書き方が、奇遇にも合理的だったというだけなのだが。 twitter.com/KotorinChunChu…
2020-02-12 19:33:19@KotorinChunChun 私個人の意見ですが、面倒ってのは立派な動機だと思いますよ。 `A = "hoge"`となっている時点でAは文字列型に決まってますからね。 どっちを大事にするかとしては、 リーダブルコードに書いてあった「読み手が最速で読むためにはどんなコードが望ましいか」で考える事を念頭に置いてます。
2020-02-12 19:40:50@miyabi_sun ありがとうございます。 >`A = "hoge"`となっている時点でAは文字列型に決まってますからね。 まったくもって同感です。 Twitterで型指定してるコードを初めてみて、エラーが出ないことにびっくりしたくらいです。
2020-02-12 19:50:48@KotorinChunChun 投票わすれたけどwww。 型宣言はしないで、必要あれば型文字列(#$なやつ)をつけると思います。どうせイミデトとかローカルウインドウで型の確認するのでw。
2020-02-13 00:51:45型宣言を書く派の人たち
こんな感じで書く人
Const MAX_NUMBER As Long = 100
Const PI As Double = 3.14
Const APP_NAME As String = "●●ツール"
@KotorinChunChun なんとなくのクセできっちり書いてましたが、確かに変数と違って思わぬ型が指定されてしまうこともないので、わざわざ宣言する必要ないかもしれませんね。 でも、やっぱりなんとなく書きたくなっちゃうかもです(笑)
2020-02-12 19:15:28@KotorinChunChun 引き継いだ人が変に解釈するのは本意じゃないから なるべくお作法通りに書く…
2020-02-12 20:08:23@KotorinChunChun 型指定すると謎の安心感があります。Excelに暗黙的に型を決めさせてると思うと管理が行き届いていない感じがして嫌だと感じるんです…。
2020-02-12 20:11:15書くのや~めたする人たち
@KotorinChunChun すごーーく納得しました😃 暗黙的に書く派でしたけど⬆️の内容見て、 「確かにそうだわ」 と思いました!
2020-02-12 19:18:09Constとは別件だが注意しなければならない事も…
@KotorinChunChun 以下の画像のように、型宣言をしても意図したとおりにならない場合もあるので、 入れる値で明示した方がいいかな?というのもあります。 pic.twitter.com/tGKH5U8uqx
2020-02-12 20:08:38@nukie_53 これはビックリです。 なんかうまく行かないなーと悩んだことはありましたが、コピペでなんとかなっちゃってました・・・
2020-02-12 20:24:48